{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np  \n",
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "data = np.arange(10)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x18f2ecdd1d0>]"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x18f2e999da0>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(data)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [],
   "source": [
    "#matplotlib所绘制的图位于图片（Figure）对象中。可以使用plt.figure生成一个新的图片\n",
    "#使用Jupiter notebook时，在每个单元格运行后，图表被重置，所以对于复杂的图表，鼻血将所有的绘图命令放在同一个单元格"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x18f30ff22e8>]"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x18f30f36630>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "\n",
    "fig = plt.figure()\n",
    "ax1 = fig.add_subplot(2,2,1)\n",
    "ax2 = fig.add_subplot(2,2,2)\n",
    "ax3 = fig.add_subplot(2,2,3)\n",
    "plt.plot([1.5,3.5,-2,1.6])\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x18f30e694e0>]"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x18f2f2d0898>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(np.random.randn(50).cumsum(),'k--')\n",
    "\n",
    "\n",
    "#'k--'是用于绘制黑分段线style选项。\n",
    "#fig.add_subplot返回的对象是AxesSubplot对象，使用这些对象可以直接在其他空白的子图上调用对象的实力方法进行绘图"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.PathCollection at 0x18f319e2d68>"
      ]
     },
     "execution_count": 29,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "_ = ax1.hist(np.random.randn(100),bins=20,color='k',alpha=0.3)\n",
    "ax2.scatter(np.arange(30),np.arange(30)+3*np.random.randn(30))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [],
   "source": [
    "plt.close('all')\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[<matplotlib.axes._subplots.AxesSubplot object at 0x0000018F3132B208>,\n",
       "        <matplotlib.axes._subplots.AxesSubplot object at 0x0000018F316DA588>,\n",
       "        <matplotlib.axes._subplots.AxesSubplot object at 0x0000018F310B3240>],\n",
       "       [<matplotlib.axes._subplots.AxesSubplot object at 0x0000018F31187E48>,\n",
       "        <matplotlib.axes._subplots.AxesSubplot object at 0x0000018F3135E9E8>,\n",
       "        <matplotlib.axes._subplots.AxesSubplot object at 0x0000018F31461F98>]],\n",
       "      dtype=object)"
      ]
     },
     "execution_count": 31,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYIAAAD8CAYAAAB6paOMAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvNQv5yAAAG/dJREFUeJzt3V9sZPV9/vH388MxtERtnLCtsowTdjrIsIusgscUKVLaqC1eRcgbKS0yVRvoBq1oIZXaK0qkrdhc1FUvWkWOlGxUpCQXmIQbO1JjtCmg3HTj9UpAMGhjew2xvZFisgG1CrKx+/ldzFkYe2fs45lZz5/zvKQjnz/f78z37GPtx2fm/FFEYGZm2fX/mj0AMzNrLhcCM7OMcyEwM8s4FwIzs4xzITAzyzgXAjOzjNu1EEh6StIvJL1aZbskfVXSvKRXJN1Vtu1BSXPJ9GAjB271c7adybnankXEjhPwaeAu4NUq2z8L/AAQcA/w42T9R4GLyc+eZL5nt/fztH+Ts+3Mybl62uu06xFBRPwIuLxDk2PAt6PkLPARSR8HhoAzEXE5In4FnAGO7vZ+tn+cbWdyrrZXXQ14jZuBpbLl5WRdtfVXkXQCOAFw4403Dtx2220NGJalcccddzA/P0+xWKx0ifk68J2yZWfbJpxr9pw/f/6tiDhQS99GFAJVWBc7rL96ZcRp4DRAsViMmZmZBgzL0njjjTe47777qPRvLundCl2cbRtwrtkj6c1a+zbirKFloLdsOQdc2mG9tY/3cLadyLnaFo0oBJPAF5IzEe4B3omInwPPAfdK6pHUA9ybrLP28TbOthM5V9ti14+GJD0N/BFwk6Rl4J+ADwFExNeB/6R0FsI88Gvgr5NtlyV9BTiXvNSpiNjpCyzbZw888AAvvvgib731FrlcjieffJL33nsPgEceeQTgHUpnjjjbNuJcba8U0Vq3ofbnja1D0vmIKDbq9Zxta3CunameXH1lsZlZxrkQmJllnAuBmVnGuRCYmWWcC4GZWca5EJiZZZwLgZlZxrkQmJllnAuBmVnGuRCYmWWcC4GZWca5EJiZZZwLgZlZxrkQmJllnAuBmVnGuRCYmWVcqkIg6aikC5LmJT1eYfu/SXopmX4q6e2ybZtl2yYbOXirz9TUFH19fRQKBUZHRys16XWu7ce52l6leVTldcDXgD+l9HDrc5ImI+K1K20i4u/L2n8JuLPsJd6NiN9v3JCtETY3N3n00Uc5c+YMuVyOwcFBhoeHOXz4cHmzpStPPHKu7cG5Wi3SHBHcDcxHxMWIWAfGgWM7tH8AeLoRg7NrZ3p6mkKhQD6fp7u7m5GRESYmJnbq4lzbgHO1WqQpBDcDS2XLy8m6q0j6JHAIeL5s9Q2SZiSdlfS5Kv1OJG1mVldXUw7d6rGyskJvb+/7y7lcjpWVlYpta8016ets95FztVqkKQSqsK7aE+9HgGcjYrNs3SeSw9C/AP5d0u9d9WIRpyOiGBHFAwcOpBiS1Svi6gilSlEDNeaavI+z3UfO1WqRphAsA71lyzngUpW2I2w7zIyIS8nPi8CLbP080pokl8uxtPTBgd7y8jIHDx6s1ty5tgnnarVIUwjOAbdKOiSpm9Ivz1VnE0jqA3qA/y5b1yPp+mT+JuBTwGvb+9r+GxwcZG5ujsXFRdbX1xkfH2d4ePiqds61vThXq8WuhSAiNoDHgOeA14HvRsSspFOSyn/DHgDGY+ux6e3AjKSXgReA0fKzjax5urq6GBsbY2hoiNtvv53777+fI0eOcPLkSSYnt9R559pGnKvVQpU+U2ymYrEYMzMzzR6GAZLOXznNsBGcbWtwrp2pnlx9ZbGZWca5EJiZZZwLgZlZxrkQmJllnAuBmVnGuRCYmWWcC4GZWca5EJiZZZwLgZlZxrkQmJllnAuBmVnGuRCYmWWcC4GZWca5EJiZZZwLgZlZxrkQmJllXKpCIOmopAuS5iU9XmH7Q5JWJb2UTA+XbXtQ0lwyPdjIwVt9pqam6Ovro1AoMDo6WqnJx5xr+3GutmcRseMEXAcsAHmgG3gZOLytzUPAWIW+HwUuJj97kvmend5vYGAg7Nrb2NiIfD4fCwsLsba2Fv39/TE7O7ulDbDYqFzD2e4L55pdwEzsklW1Kc0Rwd3AfERcjIh1YBw4lrLODAFnIuJyRPwKOAMcTdnXrqHp6WkKhQL5fJ7u7m5GRkaYmJhI2925tijnarVIUwhuBpbKlpeTddt9XtIrkp6V1LuXvpJOSJqRNLO6uppy6FaPlZUVent731/O5XKsrKxUalpzruBs95tztVqkKQSqsG77E++/D9wSEf3AD4Fv7aEvEXE6IooRUTxw4ECKIVm9SkeSW0lXxfU2deSavI+z3UfO1WqRphAsA71lyzngUnmDiPhlRKwli98EBtL2tebI5XIsLX3wx9/y8jIHDx7c3mzTubYX52q1SFMIzgG3SjokqRsYASbLG0j6eNniMPB6Mv8ccK+kHkk9wL3JOmuywcFB5ubmWFxcZH19nfHxcYaHh7c3+1DZvHNtA87VatG1W4OI2JD0GKVfiOuApyJiVtIpSt9STwJ/J2kY2AAuUzqLiIi4LOkrlIoJwKmIuHwN9sP2qKuri7GxMYaGhtjc3OT48eMcOXKEkydPUiwWr/zn8TuSZnGubcO5Wi1U6TPFZioWizEzM9PsYRgg6XxEFBv1es62NTjXzlRPrr6y2Mws41wIzMwyzoXAzCzjXAjMzDLOhcDMLONcCMzMMs6FwMws41wIzMwyzoXAzCzjXAjMzDLOhcDMLONcCMzMMs6FwMws41wIzMwyzoXAzCzjUhUCSUclXZA0L+nxCtv/QdJrycOw/0vSJ8u2bUp6KZkmt/e15pmamqKvr49CocDo6GilJr/rXNuPc7U9i4gdJ0pPJVsA8kA38DJweFubzwC/mcz/DfBM2bb/3e09yqeBgYGwa29jYyPy+XwsLCzE2tpa9Pf3x+zs7JY2wIVG5RrOdl841+yi9MTIPWV3ZUpzRHA3MB8RFyNiHRgHjm0rJi9ExK+TxbOUHnptLWx6eppCoUA+n6e7u5uRkREmJia2N/sf59penKvVIk0huBlYKlteTtZV80XgB2XLN0iakXRW0ucqdZB0Imkzs7q6mmJIVq+VlRV6e3vfX87lcqysrOzUZc+5grPdb87VarHrw+sBVVhX8UHHkv4SKAJ/WLb6ExFxSVIeeF7STyJiYcuLRZwGTkPp+aepRm51iQrPqpYqRV17rsn7ONt95FytFmmOCJaB3rLlHHBpeyNJfwJ8GRiOiLUr6yPiUvLzIvAicGcd47UGyeVyLC19cKC3vLzMwYMHr2rnXNuLc7VapCkE54BbJR2S1A2MAFvOJpB0J/ANSr9Uvyhb3yPp+mT+JuBTwGuNGrzVbnBwkLm5ORYXF1lfX2d8fJzh4eHtzX4D59pWnKvVYtePhiJiQ9JjwHOUziB6KiJmJZ2i9C31JPCvwIeB7yWHoT+LiGHgduAbkv6PUtEZjQj/YrWArq4uxsbGGBoaYnNzk+PHj3PkyBFOnjxJsVi88p9HL/AuzrVtOFerhSp9pthMxWIxZmZmmj0MAySdj4hio17P2bYG59qZ6snVVxabmWWcC4GZWca5EJiZZZwLgZlZxrkQmJllnAuBmVnGuRCYmWWcC4GZWca5EJiZZZwLgZlZxrkQmJllnAuBmVnGuRCYmWWcC4GZWca5EJiZZZwLgZlZxqUqBJKOSrogaV7S4xW2Xy/pmWT7jyXdUrbtH5P1FyQNNW7oVq+pqSn6+vooFAqMjo5WaiLn2n6cq+1ZROw4UXo85QKQB7qBl4HD29r8LfD1ZH4EeCaZP5y0vx44lLzOdTu938DAQNi1t7GxEfl8PhYWFmJtbS36+/tjdnZ2SxvgzUblGs52XzjX7KL06OBd/0+vNKU5IrgbmI+IixGxDowDx7a1OQZ8K5l/FvhjlR6GegwYj4i1iFgE5pPXsyabnp6mUCiQz+fp7u5mZGSEiYmJ7c0+gnNtK87VarHrw+uBm4GlsuVl4A+qtYnSw+7fAT6WrD+7re/N299A0gngRLK4JunVVKNvbTcBbzV7EDvoAX5L0pvJ8keBDz/xxBM/K2tzJ3XkCh2ZrXPFubaovlo7pikEqrBu+xPvq7VJ05eIOA2cBpA0Ew18sHaztPp+SPpzYCgiHk6W/wq4OyK+VNbm3QpdU+cKnZdtq++Dc61Np+xDrX3TfDS0DPSWLeeAS9XaSOoCfhu4nLKvNUeabNZxru3GudqepSkE54BbJR2S1E3py6XJbW0mgQeT+T8Dnk++vJgERpKzig4BtwLTjRm61SlNrm/jXNuNc7U92/WjoeQzxMeA5yidQfRURMxKOkXpW+pJ4D+A70iap/SXxUjSd1bSd4HXgA3g0YjY3OUtT9e+Oy2lpfcjZa7/AnymQblCi/+bpNTS++Bca5bpfVDpDwEzM8sqX1lsZpZxLgRmZhnXtEJQz20rWkWKfXhI0qqkl5Lp4WaMcyeSnpL0i2rngavkq8k+viLprl1er+1zhfbPttG5Jn3aPlvnWkWtlyTXM1HHbStaZUq5Dw8BY80e6y778WngLuDVKts/C/yA0jnm9wA/7uRcOyXbRubaKdk61+pTs44I6rltRatIsw8tLyJ+ROnMkWqOAd+OkrPARyR9vErbTsgVOiDbBucKnZGtc62iWYWg0m0rtl/KvuW2FcCVy+BbRZp9APh8coj2rKTeCttbXdr9TNu21XOFbGS7l1zTtm/1bJ1rFc0qBPXctqJVpBnf94FbIqIf+CEf/LXUTvaSQyfkCtnIdq85dEK2zrWKZhWCem5b0Sp23YeI+GVErCWL3wQG9mlsjbSX2w50Qq6QjWz3ejuJTsjWuVbRrEJQz20rWsWu+7Dts7lh4PV9HF+jTAJfSM5GuAd4JyJ+XqVtJ+QK2ch2L7lCZ2TrXKtp4rffnwV+Sulb/C8n604Bw8n8DcD3KN0TfRrIN/Pb+hr34Z+BWUpnJ7wA3NbsMVfYh6eBnwPvUfpr4ovAI8AjyXYBX0v28SdAsdNz7YRsG51rp2TrXCtPvsWEmVnG7frRUD0XMEh6UNJcMj1Yqb81j7PtTM7V9izFoUhNFzBQejLSxeRnTzLf0+xDK0/OttMn5+ppr9OuRwRR+wUMQ8CZiLgcEb8CzgBHd3s/2z/OtjM5V9urNI+q3E21CxhSX9igsuef3njjjQO33XZbA4Zladxxxx3Mz89TLBYrfVm0DnynbNnZtgnnmj3nz59/KyIO1NK3EYWgrucVw9bnnxaLxZiZqfnRm7ZHb7zxBvfddx+V/s3V4GfbOtv941yzR9KbtfZtxHUE1S5g8PNP2997ONtO5Fxti0YUgmoXMDwH3CupR1IPcG+yztrH2zjbTuRcbYtdPxqS9DTwR8BNkpaBfwI+BBARXwf+k9JZCPPAr4G/TrZdlvQVSlfzAZyKiFa63DzzHnjgAV588UXeeustcrkcTz75JO+99x4AjzzyCJRuGnYRZ9tWnKvtVctdUObPG1uHpPMRUWzU6znb1uBcO1M9ufpRlWZmGedCYGaWcS4EZmYZ50JgZpZxLgRmZhnnQmBmlnEuBGZmGedCYGaWcS4EZmYZ50JgZpZxLgRmZhnnQmBmlnEuBGZmGedCYGaWcS4EZmYZ50JgZpZxqQqBpKOSLkial/R4he3/JumlZPqppLfLtm2WbZts5OCtPlNTU/T19VEoFBgdHa3UpNe5th/nanuV5lGV1wFfA/6U0sOtz0majIjXrrSJiL8va/8l4M6yl3g3In6/cUO2Rtjc3OTRRx/lzJkz5HI5BgcHGR4e5vDhw+XNlq488ci5tgfnarVIc0RwNzAfERcjYh0YB47t0P4B4OlGDM6unenpaQqFAvl8nu7ubkZGRpiYmNipi3NtA87VapGmENwMLJUtLyfrriLpk8Ah4Pmy1TdImpF0VtLnqvQ7kbSZWV1dTTl0q8fKygq9vb3vL+dyOVZWViq2rTXXpK+z3UfO1WqRphCowrpqT7wfAZ6NiM2ydZ9IDkP/Avh3Sb931YtFnI6IYkQUDxw4kGJIVq+IqyOUKkUN1Jhr8j7Odh85V6tFmkKwDPSWLeeAS1XajrDtMDMiLiU/LwIvsvXzSGuSXC7H0tIHB3rLy8scPHiwWnPn2iacq9UiTSE4B9wq6ZCkbkq/PFedTSCpD+gB/rtsXY+k65P5m4BPAa9t72v7b3BwkLm5ORYXF1lfX2d8fJzh4eGr2jnX9uJcrRa7FoKI2AAeA54DXge+GxGzkk5JKv8NewAYj63HprcDM5JeBl4ARsvPNrLm6erqYmxsjKGhIW6//Xbuv/9+jhw5wsmTJ5mc3FLnnWsbca5WC1X6TLGZisVizMzMNHsYBkg6f+U0w0Zwtq3BuXamenL1lcVmZhnnQmBmlnEuBGZmGedCYGaWcS4EZmYZ50JgZpZxLgRmZhnnQmBmlnEuBGZmGedCYGaWcS4EZmYZ50JgZpZxLgRmZhnnQmBmlnEuBGZmGZeqEEg6KumCpHlJj1fY/pCkVUkvJdPDZdselDSXTA82cvBWn6mpKfr6+igUCoyOjlZq8jHn2n6cq+1ZROw4AdcBC0Ae6AZeBg5va/MQMFah70eBi8nPnmS+Z6f3GxgYCLv2NjY2Ip/Px8LCQqytrUV/f3/Mzs5uaQMsNirXcLb7wrlmFzATu2RVbUpzRHA3MB8RFyNiHRgHjqWsM0PAmYi4HBG/As4AR1P2tWtoenqaQqFAPp+nu7ubkZERJiYm0nZ3ri3KuVot0hSCm4GlsuXlZN12n5f0iqRnJfXupa+kE5JmJM2srq6mHLrVY2Vlhd7e3veXc7kcKysrlZrWnCs42/3mXK0WaQqBKqzb/qDj7wO3REQ/8EPgW3voS0ScjohiRBQPHDiQYkhWr6jwrGrpqrjepo5ck/dxtvvIuVot0hSCZaC3bDkHXCpvEBG/jIi1ZPGbwEDavtYcuVyOpaUP/vhbXl7m4MGD25ttOtf24lytFmkKwTngVkmHJHUDI8BkeQNJHy9bHAZeT+afA+6V1COpB7g3WWdNNjg4yNzcHIuLi6yvrzM+Ps7w8PD2Zh8qm3eubcC5Wi26dmsQERuSHqP0C3Ed8FREzEo6Relb6kng7yQNAxvAZUpnERERlyV9hVIxATgVEZevwX7YHnV1dTE2NsbQ0BCbm5scP36cI0eOcPLkSYrF4pX/PH5H0izOtW04V6uFKn2m2EzFYjFmZmaaPQwDJJ2PiGKjXs/Ztgbn2pnqydVXFpuZZZwLgZlZxrkQmJllnAuBmVnGuRCYmWWcC4GZWca5EJiZZZwLgZlZxrkQmJllnAuBmVnGuRCYmWWcC4GZWca5EJiZZZwLgZlZxrkQmJllnAuBmVnGpSoEko5KuiBpXtLjFbb/g6TXJL0i6b8kfbJs26akl5Jpcntfa56pqSn6+vooFAqMjo5WavK7zrX9OFfbs4jYcaL0eMoFIA90Ay8Dh7e1+Qzwm8n83wDPlG37393eo3waGBgIu/Y2NjYin8/HwsJCrK2tRX9/f8zOzm5pA1xoVK7hbPeFc80uSo8O3lN2V6Y0RwR3A/MRcTEi1oFx4Ni2YvJCRPw6WTwL5PZakGx/TU9PUygUyOfzdHd3MzIywsTExPZm/+Nc24tztVqkKQQ3A0tly8vJumq+CPygbPkGSTOSzkr6XKUOkk4kbWZWV1dTDMnqtbKyQm9v7/vLuVyOlZWVnbrsOVdwtvvNuVotulK0UYV1FZ94L+kvgSLwh2WrPxERlyTlgecl/SQiFra8WMRp4DSUHoSdauRWl9KR5FZSpahrzzV5H2e7j5yr1SLNEcEy0Fu2nAMubW8k6U+ALwPDEbF2ZX1EXEp+XgReBO6sY7zWILlcjqWlDw70lpeXOXjw4FXtnGt7ca5WizSF4Bxwq6RDkrqBEWDL2QSS7gS+QemX6hdl63skXZ/M3wR8CnitUYO32g0ODjI3N8fi4iLr6+uMj48zPDy8vdlv4FzbinO1Wuz60VBEbEh6DHiO0hlET0XErKRTlL6lngT+Ffgw8L3kMPRnETEM3A58Q9L/USo6oxHhX6wW0NXVxdjYGENDQ2xubnL8+HGOHDnCyZMnKRaLV/7z6AXexbm2DedqtVClzxSbqVgsxszMTLOHYYCk8xFRbNTrOdvW4Fw7Uz25+spiM7OMcyEwM8s4FwIzs4xzITAzyzgXAjOzjHMhMDPLOBcCM7OMcyEwM8s4FwIzs4xzITAzyzgXAjOzjHMhMDPLOBcCM7OMcyEwM8s4FwIzs4xzITAzy7hUhUDSUUkXJM1LerzC9uslPZNs/7GkW8q2/WOy/oKkocYN3eo1NTVFX18fhUKB0dHRSk3kXNuPc7U9i4gdJ0qPp1wA8kA38DJweFubvwW+nsyPAM8k84eT9tcDh5LXuW6n9xsYGAi79jY2NiKfz8fCwkKsra1Ff39/zM7ObmkDvNmoXMPZ7gvnml2UHh286//plaY0RwR3A/MRcTEi1oFx4Ni2NseAbyXzzwJ/rNLDUI8B4xGxFhGLwHzyetZk09PTFAoF8vk83d3djIyMMDExsb3ZR3CubcW5Wi12fXg9cDOwVLa8DPxBtTZRetj9O8DHkvVnt/W9efsbSDoBnEgW1yS9mmr0re0m4K1mD2IHPcBvSXozWf4o8OEnnnjiZ2Vt7qSOXKEjs3WuONcW1VdrxzSFQBXWbX/ifbU2afoSEaeB0wCSZqKBD9ZullbfD0l/DgxFxMPJ8l8Bd0fEl8ravFuha+pcofOybfV9cK616ZR9qLVvmo+GloHesuUccKlaG0ldwG8Dl1P2teZIk806zrXdOFfbszSF4Bxwq6RDkropfbk0ua3NJPBgMv9nwPPJlxeTwEhyVtEh4FZgujFDtzqlyfVtnGu7ca62Z7t+NJR8hvgY8BylM4ieiohZSacofUs9CfwH8B1J85T+shhJ+s5K+i7wGrABPBoRm7u85enad6eltPR+pMz1X4DPNChXaPF/k5Raeh+ca80yvQ8q/SFgZmZZ5SuLzcwyzoXAzCzjmlYI6rltRatIsQ8PSVqV9FIyPdyMce5E0lOSflHtPHCVfDXZx1ck3bXL67V9rtD+2TY616RP22frXKuo9ZLkeibquG1Fq0wp9+EhYKzZY91lPz4N3AW8WmX7Z4EfUDrH/B7gx52ca6dk28hcOyVb51p9atYRQT23rWgVafah5UXEjyidOVLNMeDbUXIW+Iikj1dp2wm5Qgdk2+BcoTOyda5VNKsQVLptxfZL2bfctgK4chl8q0izDwCfTw7RnpXUW2F7q0u7n2nbtnqukI1s95Jr2vatnq1zraJZhaCe21a0ijTj+z5wS0T0Az/kg7+W2slecuiEXCEb2e41h07I1rlW0axCUM9tK1rFrvsQEb+MiLVk8ZvAwD6NrZH2ctuBTsgVspHtXm8n0QnZOtcqmlUI6rltRavYdR+2fTY3DLy+j+NrlEngC8nZCPcA70TEz6u07YRcIRvZ7iVX6IxsnWs1Tfz2+7PATyl9i//lZN0pYDiZvwH4HqV7ok8D+WZ+W1/jPvwzMEvp7IQXgNuaPeYK+/A08HPgPUp/TXwReAR4JNku4GvJPv4EKHZ6rp2QbaNz7ZRsnWvlybeYMDPLOF9ZbGaWcS4EZmYZ50JgZpZxLgRmZhnnQmBmlnEuBGZmGedCYGaWcf8fiv5/FT1ilzQAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x18f3132bf98>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig,axes = plt.subplots(2,3)\n",
    "axes"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[<matplotlib.axes._subplots.AxesSubplot object at 0x0000018F2ED91C50>,\n",
       "        <matplotlib.axes._subplots.AxesSubplot object at 0x0000018F31782978>,\n",
       "        <matplotlib.axes._subplots.AxesSubplot object at 0x0000018F31AD9E48>],\n",
       "       [<matplotlib.axes._subplots.AxesSubplot object at 0x0000018F2F470A20>,\n",
       "        <matplotlib.axes._subplots.AxesSubplot object at 0x0000018F312BCE10>,\n",
       "        <matplotlib.axes._subplots.AxesSubplot object at 0x0000018F3155EE48>]],\n",
       "      dtype=object)"
      ]
     },
     "execution_count": 28,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "axes"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "#wspace和hspace分别控制的是图片的宽度和高度百分比，以用于子图间的间距"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x18f31372358>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, axes = plt.subplots(2, 2, sharex=True, sharey=True)\n",
    "for i in range(2):\n",
    "    for j in range(2):\n",
    "        axes[i, j].hist(np.random.randn(500), bins=50, color='k', alpha=0.5)\n",
    "plt.subplots_adjust(wspace=0, hspace=0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [],
   "source": [
    "#ax.plot(x, y, 'g--')\n",
    "\n",
    "#ax.plot(x, y, linestyle='--', color='g')\n",
    "#matolotlib的主函数plot接收带有x和y轴的数组以及一些可选的字符串缩写参数来指明颜色和线类型。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.figure.Figure at 0x18f31cb9ba8>"
      ]
     },
     "execution_count": 36,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "<matplotlib.figure.Figure at 0x18f31cb9ba8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x18f31d098d0>]"
      ]
     },
     "execution_count": 37,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x18f31482d30>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#折线图还可以又标记用来凸显实际的数据点\n",
    "from numpy.random import randn\n",
    "plt.plot(randn(30).cumsum(), 'ko--')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [],
   "source": [
    "plt.close('all')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x18f31d59c50>"
      ]
     },
     "execution_count": 39,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x18f31cd6080>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#对于折线图，你会注意到后续的点默认是线性内插的，可以通过drawstyle选项进行更改\n",
    "data = np.random.randn(30).cumsum()\n",
    "plt.plot(data, 'k--', label='Default')\n",
    "plt.plot(data, 'k-', drawstyle='steps-post', label='steps-post')\n",
    "plt.legend(loc='best')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x18f31dbff98>]"
      ]
     },
     "execution_count": 40,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x18f31c4f358>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#生成一个图表，并绘制随机漫步\n",
    "\n",
    "fig = plt.figure()\n",
    "ax = fig.add_subplot(1, 1, 1)\n",
    "ax.plot(np.random.randn(1000).cumsum())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {},
   "outputs": [],
   "source": [
    "ticks = ax.set_xticks([0, 250, 500, 750, 1000])\n",
    "labels = ax.set_xticklabels(['one', 'two', 'three', 'four', 'five'],\n",
    "                            rotation=30, fontsize='small')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0.5,3.2,'Stages')"
      ]
     },
     "execution_count": 42,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ax.set_title('My first matplotlib plot')\n",
    "ax.set_xlabel('Stages')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x18f31e26fd0>]"
      ]
     },
     "execution_count": 43,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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Bcnn4qcfYZHTqReH4ll/dvnyZSIimjlzpsMRjkajofj4eAoLC6P69euTRqOhzp07S/ojbPvvv/9K9s3Ly3N4TlSKlrLs0omPjydfX1/J7zYqKori4uJkr1NBKE54LzzFHzp0iDp06CDrFk1KSrIJxZRbSkqADqXBpQNAC+AfAA0BuAM4BKCFve0LavA3bNggcUM44s6dO3Tjxg1Zv79Yr8baCBIRzZkzh1auXEk3b96kGTNmUE5ODl27do1atmxp18dXrVo1vv8ff/xBAOjXX38t0Pd0xgcffEAA+A2GiOj48eOS/kRGRsoafPGFmp3M18WhAAAgAElEQVSdTW3btuXnU7jBff/99w4vdkGzRDAcjDF68sknebvic3748GHJvjdu3CiSc6KijNjYWH4Nl1b5ADnkXJOClMfWrVvtul52795N7u7uEimT33//nSByYcoRExMjKdYjdvUUleqqEpQa/KJ26QQCOENEZ4koB8ByAANcfZDevXujTZs2AB4UCrFHgwYNUKNGDfTv35+vE+LNrQtr16lTRxKLHx0djX379qF69eqYNGkS9u/fj1mzZuHo0aMS3XMx4kxVId65c+fODvt45swZtG/fPt95AA0aNAAAictInAV76dIlxMfHc7VOgaFDh/LsS8DiShL09xs2bMi/U926dR0ePyQkBImJibh//z5MJhOICFeuXOGfr1u3jr8W3F3Dhg0DANXFU8KEhIRAq9WCMQatVltmYvEXLVpks47IUipTp9OhU6dONp+bzWb07dsXOTk5qF69Ol8vXIPiKB1rZs6cid27dyM2NtZGC78snLeiNvi+AMQO70v/rXM5QvifMz9aamoqAEjCF+/cuYO3334by5cv5+u0Wi3WrVvHKwEREa5fvy6RSm3evDnOnTsnad/a4Isr2m/fvh3Lli1zWuV+7dq12LdvH1asWOFwO2tCQ0Px66+/SvzwgvHfs2cPfH0tp/7AgQOS/YREEzFeXl42nzVr1gyenp5o0KCBTTENwDLHsXDhQsm6EydOoGLFijh79iyfjwCAKVOmAHhwE7EuPKFS/AjXrvU1XJqwTooUy4+IycvLw65du7B7925e3U1Ao9HwAVpMTAy++OILAA8Gi44MPmBJWJs0aRIiIiKg1+uh0Wjg5uaGL7/8stTLKxS1lo7clUOSDRiLBBAJAI8++miBD5SZmQnG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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x18f31d29208>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "from numpy.random import randn\n",
    "fig = plt.figure(); ax = fig.add_subplot(1, 1, 1)\n",
    "ax.plot(randn(1000).cumsum(), 'k', label='one')\n",
    "ax.plot(randn(1000).cumsum(), 'k--', label='two')\n",
    "ax.plot(randn(1000).cumsum(), 'k.', label='three')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0.5,1,'Important dates in the 2008-2009 financial crisis')"
      ]
     },
     "execution_count": 46,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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Syvdz8+Pd999l2bNmhEREeFQd1RUFOXLlweM3kv9+vU5ceIE06ZN45NPPiEwMJCNGzcSHR1Njx49aNKkCU2aNGHz5s0AbN++nRYtWhAUFESLFi04cuQIYHz99+rVi86dOxMeHs769esJCwujZ8+e3H///fTp0wcxjVCHDRtG/fr1adSoEUOGDHH7vvz3v/+lSZMmBAQE0KNHD65duwbAqFGjmDhxYoby2W1Ho7ll3NEkt/OWmz2J8ePHO3ylV6lSRcLDw+WVV14REXHImzlzpsNxTEyMzJgxQ86fPy8iIo8++miWehJnzpwRQL788kun+bZ2IiIipGLFipn2JGx5Nrk9jZeXlwQEBEjdunWlaNGisnPnThERWb16tTz//POSlpYmqamp0rFjR9mwYYOIiFy8eFFERK5duyb+/v5y4cIFS9YFCxY4bee9996T4sWLS7du3WTatGmSkJAgIhl7Er1795aNGzeKiMjJkyfl/vvvFxGRmJgYq6ewZs0a6d69u4gYX/8VK1a0ZFq3bp0ULVpUTp8+LampqdK8eXPZuHGjXLx4UerUqSNpaWkiInL58uUMMs6aNUtKly4tAQEBEhAQIDNnzhQRsa5PRGTEiBEyadKkDLLbehLutKPRZBXc7EnoGNdu8Ndff/Hdd9+xePFiihcvzpUrVwB49dVXef31152e8+CDD1r7zZs3p2jRojzzzDNWWosWLVi9ejWpqan88ssvDB48mN9++81lr8C2tLZgwYJO82vVqkXFihVp1qwZR48epXDhwk7LpaSkWPvXr18H4MMPP2TBggWsXbuWYsWKuboNblOoUCH27NkDQEREBH379mX//v389NNP/PTTTwQFBQEQFxfH0aNHad26NZMmTWLp0qUAnD59mqNHj1KqVCm8vb3p0aOH03beffdd+vTpw08//cS8efOYP38+69evz1Du559/5uDBG7Grrl69SmxsLDExMfTr14+jR4+ilLLuB0Dbtm0pWbKkddy0aVMqVaoEGLYpJ06coHnz5hQsWJDnnnuOjh070qlTJ6dyPvHEE0yZMsUhbf/+/bz99ttcuXKFuLg4Hn30UafnAhQtWtStdjSanEAPN7nB1KlTGTp0KLt27aJ169YANGzY0KWCAKhSpQrjx48HcDqs4+fnBxgvyueff56DBw/y99+OntETEhL44IMPSEhIsIabXCmJ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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x18f32967d68>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "from datetime import datetime\n",
    "import pandas as pd\n",
    "fig = plt.figure()\n",
    "ax = fig.add_subplot(1, 1, 1)\n",
    "\n",
    "data = pd.read_csv('D:\\pydata-book-2nd-edition\\pydata-book-2nd-edition\\examples\\spx.csv', index_col=0, parse_dates=True)\n",
    "spx = data['SPX']\n",
    "\n",
    "spx.plot(ax=ax, style='k-')\n",
    "\n",
    "crisis_data = [\n",
    "    (datetime(2007, 10, 11), 'Peak of bull market'),\n",
    "    (datetime(2008, 3, 12), 'Bear Stearns Fails'),\n",
    "    (datetime(2008, 9, 15), 'Lehman Bankruptcy')\n",
    "]\n",
    "\n",
    "for date, label in crisis_data:\n",
    "    ax.annotate(label, xy=(date, spx.asof(date) + 75),\n",
    "                xytext=(date, spx.asof(date) + 225),\n",
    "                arrowprops=dict(facecolor='black', headwidth=4, width=2,\n",
    "                                headlength=4),\n",
    "                horizontalalignment='left', verticalalignment='top')\n",
    "\n",
    "# 放大  2007-2010年\n",
    "ax.set_xlim(['1/1/2007', '1/1/2011'])\n",
    "ax.set_ylim([600, 1800])\n",
    "ax.set_title('Important dates in the 2008-2009 financial crisis')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.patches.Polygon at 0x18f33a11860>"
      ]
     },
     "execution_count": 48,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x18f3296a748>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#想在图表中添加图形时，需要生成patch对象shp，并调用ax.add_patch(shp)将它加入到子图中\n",
    "fig = plt.figure() \n",
    "ax = fig.add_subplot(1, 1, 1)\n",
    "\n",
    "rect = plt.Rectangle((0.2, 0.75), 0.4, 0.15, color='k', alpha=0.3) \n",
    "circ = plt.Circle((0.7, 0.2), 0.15, color='b', alpha=0.3)\n",
    "pgon = plt.Polygon([[0.15, 0.15], [0.35, 0.4], [0.2, 0.6]], color='g', alpha=0.5)\n",
    "\n",
    "ax.add_patch(rect) \n",
    "ax.add_patch(circ) \n",
    "ax.add_patch(pgon)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "metadata": {},
   "outputs": [],
   "source": [
    "plt.close('all')\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "\n",
    "#pandas和seaborn绘图\n",
    "#导入seaborn会修改默认的matplotlib配送方案和绘图样式，这会提高图表的可读性和美观性。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 54,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x18f32944ef0>"
      ]
     },
     "execution_count": 54,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x18f31e46e48>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#Series和DataFrame都要一个plot属性，用于绘制基本的图形，默认情况下，plot（）绘制的是折线图\n",
    "s = pd.Series(np.random.randn(10).cumsum(), index=np.arange(0, 100, 10))\n",
    "s.plot()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x18f33a74748>"
      ]
     },
     "execution_count": 55,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x18f33a6f160>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#DataFrame的plot方法在同一个子图中将每一列绘制为不同的折线，并自动生成图例\n",
    "df = pd.DataFrame(np.random.randn(10, 4).cumsum(0),\n",
    "                  columns=['A', 'B', 'C', 'D'],\n",
    "                  index=np.arange(0, 100, 10))\n",
    "df.plot()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x18f33c83588>"
      ]
     },
     "execution_count": 56,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlgAAAJCCAYAAAAcK7khAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvNQv5yAAAIABJREFUeJzt3X+wrXddH/r3B8ImcYKEkFBgBA/OtnOrUFLcpLe1aACvYztdFqZ0UKoCgTlCsAKivbSIlwtykVvURmiEQ9Fold5a5g7JcRycqxKkY4HuINTSFrqdhDheYiMEEm7AHeBz/1jrNDuH82Nv8n3WWvvk9Zo5s571PN/9PJ85z157vdf3+6zvU90dAADGecCqCwAAONcIWAAAgwlYAACDCVgAAIMJWAAAgwlYAACDCVgAAIMJWAAAgwlYAACDnbfqAi655JI+cuTIqssAADirG2+88c+7+9KztVt5wDpy5Ei2t7dXXQYAwFlV1Sf3084QIQDAYAIWAMBgAhYAwGACFgDAYAIWAMBgAhYAwGACFgDAYAIWAMBgAhYAwGACFgDAYCu/VQ4ArLvZbDZkP8ePHx+yH9afHiwAgMEELACAwQQsAIDBBCwAgMEELACAwQQsAIDBBCwAgMEELACAwQQsAIDBBCwAgMEELACAwQQsAIDBBCwAgMEELACAwQQsAIDBzlt1ATDSbDYbsp/jx48P2Q8A9096sAAABhOwAAAGE7AAAAYTsAAABhOwAAAGE7AAAAYTsAAABhOwAAAGE7AAAAYTsAAABhOwAAAGE7AAAAbb182eq2qW5BeSPDDJT3T3vzlD2xcm+ekkD07y5u7+qRGFAnD/M+IG7m7eziqctQerqi5M8s4kNyQ5nuTaqnr4adp+XZJrFu1/Jsmrq+qvDKsWAOAQ2M8Q4eVJLkzypiRvTHJ+kqecpu1G5r1cf5jk3y/W7d7HGgEADpX9DBE+avF4ZZIvLJYffaqG3f3ZqvrxJL+6WPXz3f3HJ7erqqNJjibJYx/72AMVDACw7vbTg3X34vGaJFcvlk/ZK1VVFyd5WZKrkrw4yVVV9U0nt+vuY9291d1bl1566cGrBgBYY/sJWJ9aPJ6f5ILF8q2nafv0JOd39y9291uTfC7Jk+9biQAAh8t+hgg/mOT2JK/IfIjwriTvS5Kqui7JY7r7SYu2f5LkEVX1sszD2yOSfGJ00QAA6+ysAau7d6vquUnenPkF7Fd2952LzQ9NcvGeth+oqjckeXWSTvJT3f2H48sGAFhf+5oHq7uPZz5Fw8nrrzjFun+a5J/e58oAAA4pM7kDAAwmYAEADCZgAQAMJmABAAy2r4vcAQDW2brdGFwPFgDAYAIWAMBgAhYAwGACFgDAYAIWAMBgAhYAwGACFgDAYAIWAMBgAhYAwGBmcgfgXtZtRmw4jPRgAQAMJmABAAwmYAEADCZgAQAMJmABAAwmYAEADCZgAQAMJmABAAwmYAEADCZgAQAM5lY5wP2WW8IAU9GDBQAwmIAFADCYgAUAMJiABQAwmIvcGcLFwgBwDz1YAACDCVgAAIMJWAAAgwlYAACDCVgAAIP5FiFMZMQ3KxPfrgQ4jPRgAQAMJmABAAwmYAEADCZgAQAMJmABAAy2r4BVVbOquqmqbqmqZ5+l7bdU1fur6vNV9V+r6kFjSgUAOBzOGrCq6sIk70xyQ5LjSa6tqoefpm0leXeSLyR5TpJ3JalRxQIAHAb7mQfr8iQXJnlTkjuTXJXkKZkHqZNtJfnmJP9Lklu6+/pBdQIAHBr7GSJ81OLxyiRHF8uPPk3bxyb5SpJfSvLFqrq+qjZOblRVR6tqu6q2b7vttoPWDACw1vYTsO5ePF6T5OrF8u5p2p6/2OeNSX4kySzJs05u1N3Hunuru7cuvfTSg1UMALDm9hOwPrV4PD/JBYvlW0/T9s8Wj+/o7rcn+WKSb/jaywMAOHz2cw3WB5PcnuQVmV+8fleS9yVJVV2X5DHd/aRF2w8ttl9VVTuZh7KPjS4aAGCdnTVgdfduVT03yZuTPDDJld1952LzQ5NcvKftHVX1nCQ/m+SSzIcVf2t41QAAa2w/PVjp7uOZT9Fw8vorTrHuuiTX3efKAAAOKTO5AwAMJmABAAwmYAEADCZgAQAMJmABAAwmYAEADCZgAQAMJmABAAwmYAEADCZgAQAMJmABAAwmYAEADCZgAQAMJmABAAwmYAEADCZgAQAMJmABAAwmYAEADCZgAQAMJmABAAwmYAEADCZgAQAMJmABAAwmYAEADCZgAQAMJmABAAwmYAEADCZgAQAMJmABAAwmYAEADCZgAQAMdt6qCwAADqfZbDZkP8ePHx+yn3WiBwsAYDABCwBgMAELAGAwAQsAYDABCwBgMAELAGAwAQsAYDABCwBgMAELAGCwfQWsqppV1U1VdUtVPXsf7f9SVd1RVR+57yUCABwuZ71VTlVdmOSdSd6V5K4k11bV73T3p8/wY29IcsGYEgGAE9ye5nDYTw/W5UkuTPKmJG9Mcn6Sp5yucVV9W5LvTnLdiAIBAA6b/dzs+VGLxyuTfGGx/OgztL86yauSPPU+1AUAcGjtpwfr7sXjNZmHpyTZPVXDqnpWkq9Pcn2SjSQPrKqvGiqsqqNVtV1V27fddtvBqwYAWGP7CVifWjyen3uuq7r1NG0fn+QJST6T5PsXz998cqPuPtbdW929demllx6sYgCANbefIcIPJrk9ySsyHyK8K8n7kqSqrkvymO5+0qLttUluWCy/Mslmkn82rlwAgPV31oDV3btV9dzMe6IemOTK7r5zsfmhSS7e0/bmJDcnSVU9L8kju/vjY0sGAFhv++nBSncfT/JV3+fs7ivO8DPP+5qrAgA4xMzkDgAwmIAFADCYgAUAMJiABQAwmIAFADCYgAUAMJiABQAwmIAFADDYviYaBRhlNpvd530cP/5V8x4DrBU9WAAAgwlYAACDCVgAAIMJWAAAgwlYAACDCVgAAIMJWAAAgwlYAACDCVgAAIMJWAAAgwlYAACDCVgAAIMJWAAAgwlYAACDCVgAAIMJWAAAgwlYAACDCVgAAIMJWAAAgwlYAACDCVgAAIMJWAAAgwlYAACDCVgAAIMJWAAAgwlYAACDCVgAAIMJWAAAgwlYAACDCVgAAIMJWAAAgwlYAACDCVgAAIPtK2BV1ayqbqqqW6rq2Wdod3lVfbSqvlBVn6iq2bhSAQAOh/PO1qCqLkzyziTvSnJXkmur6ne6+9OnaH5xkt9M8gdJXpLknVV1cXffPbBmFmaz+55fjx8/PqASAGCvswasJJcnuTDJm5LcmeSqJE9J8u6TG3b3e5K8J0mq6uFJ/naShyT5zKB6AQDW3n4C1qMWj1cm+cJi+dFn+oGqqiTPTfL+7hauAID7lf1cg3VieO+aJFcvlnfP8jOvS3JZ5qHsq1TV0ararqrt2267bV+FAgAcFvsJWJ9aPJ6f5ILF8q2na1xVz0/yY0n+XnfvnKpNdx/r7q3u3rr00ksPUi8AwNrbzxDhB5PcnuQVmQ8R3pXkfUlSVdcleUx3P2nx/Iokb0vyliTnLZ5/oLu/OLxyAIA1ddaA1d27VfXcJG9O8sAkV3b3nYvND838m4MnXJHkQUlevviXJI9LcvOgegEA1t5+erDS3ceTfNX3+bv7ipOevybJawbUBQBwaJnJHQBgMAELAGAwAQsAYLB9XYMFHG4jbquUuLUSwH7pwQIAGEzAAgAYTMACABhMwAIAGOxQXOQ+4gJdF+cCAMuiBwsAYDABCwBgMAELAGAwAQsAYDABCwBgMAELAGAwAQsAYLBDMQ/WOjEnFwBwNnqwAAAGE7AAAAYTsAAABhOwAAAGE7AAAAYTsAAABhOwAAAGE7AAAAYTsAAABhOwAAAGE7AAAAYTsAAABhOwAAAGE7AAAAYTsAAABjtv1QUAkMxms/u8j+PHjw+oBBhBDxYAwGACFgDAYAIWAMBgAhYAwGACFgDAYAIWAMBgAhYAwGACFgDAYAIWAMBg+wpYVTWrqpuq6paqevaotgAA56KzBqyqujDJO5PckOR4kmur6uH3tS0AwLlqPz1Ylye5MMmbkrwxyflJnjKgLQDAOWk/N3t+1OLxyiRfWCw/+r60raqjSY4unn6+qj6+jzrO5pIkf366jVU14BD7ti61nLGORC2no5ZTW5da7qev52R9ajk0vyuJWk5HLV9zHd+4n0b7CVh3Lx6vSXJHklcl2b0vbbv7WJJj+ylwv6pqu7u3Ru7za7UutaxLHYlaTkctp6aWU1uXWtaljkQtp6OWU1tmLfsJWJ9aPJ6fewLUrQPaAgCck/YTsD6Y5PYkr8h82O+uJO9Lkqq6LsljuvtJZ2sLAHB/cdaA1d27VfXcJG9O8sAkV3b3nYvND01y8T7bTm3okON9tC61rEsdiVpORy2nppZTW5da1qWORC2no5ZTW1ot1d3LOhYAwP2CmdwBAAYTsAAABhOwAAAG28+3CNdWVX13ksclefCJdd39Cyuo48FJnpPkiYtVH07yf3X36eYLm7KWzSRf193/cfH8rya5q7t3lljDD51pe3f/6rJqOaGqNpJcleTJSf63JH89ya3d/btLrOGHkrwnyfckeU93//dlHfsM9ZzsL5J8vLs/sux6kqSq/krmEwH+j9n+uvv3V1HLCVX1xCQ/391PW2Udq1ZV39vd1+95flGS13X3P1phWSdquSTJd3T3/72CY39Lku9K8vXZ02nR3a9ddi2LetbiNVRVfzPJ05J0kvd29x8su4Y9tWxk/h592WLVR5L86+7+i0mPe1gvcq+qX03yA5mfvBO/SN3dD1xBLdclmSW5abHqcUmu7+5nrKCWP0ry9hNBs6p+JMmLu/tbl1jDVxaLJ3659k6Nu6pz9I4kz8z8m69/I/M/iP9wyf8vX878D87vJbmiu9+/rGOfpp6v5KTXz57N/0d3v3rJ9bw789fRyn9f9qqq70zye8usY/HB6BPd/cXF8sm+nPkHhE8vsaa7kzw/ya8neVGS1yX5Unc/clk1nM4qztGeY//3JDcn+die1d3dV66glrV4DVXVT2R+u7zbF6suSvKPu/tnl1nHnnpO9R59XXc/c8rjHuYerL+b5EcynxLi6Yvnqxry/PYkV3X3W5Okql6cZCWfXjL/xbl5z/Nbkjx2yTU8LPMX+Gsyn3T29Yvnr8w9E9Au2zOSvCTzN4dk3sv4k0uu4fbM35QqyT+pqufv2dbd/YIl1/MvF7WcqOlVSR6S5D8l+dEkSw1YSZ6a5GeS/NvcO+xNbvEJ99bMg/fvnLR5qX8nFz3iH0nyPyf50GL5VP8fXVX/vLt/fEmlvSjz35nXJLk0yc9nft/Zpamq7z3F6gckeVaSzy+zlj3ek3mAuCmn/rCyTE/NPNj8xgprSJIfS/Lq7n59klTVqzKfH3MlAStf/R59VZbwHn2YA9YDkvxJ5kMa35TkE5n/Yr18WQXs+WT5b5N896L3KJkHvncvq46T3JjkjVV1Yn6yn0iyvcwCuvtzyf8Ygvrn3f0nNb/B061JXpbkpcusZ+Hzmd8/qjP/3fnbSf50yTW8KvMegE7yzbnn3p3Jav4YPivJL3T3LYvz8/9mfm5+MUsMn3veNK9L8j9l/nr+0p4mH11CGV9OcnWSP8v8zfJXcs8Hlccl+cEl1HDCbuZvlP95z7ofyzxonfCAJN+X5IeTTBqw9pyf2zK/DdpLk7w98w8pT01yfMrjn+TduXev6wlfTvKGJdax19Myv4vJkcXzyurCzfWZv4Yel/n/yQnLeA3t9eUkF9Q9N/a7IMlXztB+atfn3u/R35XkN068h5+4pGa0wzxEeF3mYeLyJH8n81/oG7r76Uus4eQhlux5vqqhsG/OvJfmxL2W/kOSH+ju/7aCWt6ReaA4cS3ag5L8yoq6zl+Y5K2ZvzF9afH4w939jhXU8pXMhwhXfW3R1Un+Ue59ft6Wea/JC7r7KUuq40x/eFcxvHFTkmd394cWz6/IfPhpJT3kVXU8ySu7+2MnrV9KXet0fha1fF/mdw054StJbuvuLy6rjpNq+v0kn809H2RP/P1f+ijGac7VKl5DL07yltwzYnFekpd099uWWceeelbyO3xoA9YJVXVh7vl0+evdfccSj/2dZ9re3Su7TdDi/6WWOJP+6ep4eu65+P+jy7yo/BS1PD7zT9xJ8vvdvexPdSfq+MYkn1rFlyBOUcvfzPxDygOSfLi7b1hBDWe8M313f3JZtZxKVT00yWWrfD2fyuIi82+b+jW1Tuenqt6cea/4Hy/rmGdTVb98itWrugbrlOdqFa+hqnpCkisyD5zv7e4/OvNPTFrLSt6rD33AAgBYN+bBAgAYTMACABhMwAIAGEzAAgAYTMACABhMwAIAGEzAAgAYTMACABhMwAIAGEzAAgAYTMACABhMwAIAGEzAAgAYTMACABhMwAIAGEzAAgAYTMACABhMwAIAGEzAAgAYTMACABhMwAIAGEzAAgAYTMACABhMwAIAGEzAAgAYTMACABhMwAIAGEzAAgAYTMACABhMwAIAGEzAAgAYTMACABhMwAIAGEzAAgAY7LxVF3DJJZf0kSNHVl0GAMBZ3XjjjX/e3Zeerd3KA9aRI0eyvb296jIAAM6qqj65n3aGCAEABhOwAAAGW/kQ4c7OTmaz2arLAID75Pjx46sugTWiBwsAYLDhAauqrqiqrqpfrqpPV9X1VXX+6OMAAKyrKXuwHpbk1UlmSZ6zd0NVHa2q7ara3t3dnbAEAIDlmzJg/Vx3X5PkpiSX7d3Q3ce6e6u7tzY2NiYsAQBg+aYMWD3hvgEA1taU3yJ8RVU9Icnjknx0wuMAAKyVKQPWrUl+OsnxJO88XaPNzU1fbQUAzilTBqy3dveLJtw/AMBaMg8WAMBgw3uwuvuGJDV6vwAAh4UeLACAwQQsAIDBBCwAgMEELACAwaacpmFfdnZ2MpvNVl0GsAbMiQecK/RgAQAMNknAqqoXV9WfVtWtVfWPpzgGAMC6Gj5EWFV/Ncm/SPLGJHcleWNV/UF3/7vRxwIAWEdT9GBdkeRLSV6d+b0Ib0/ytL0NqupoVW1X1fbu7u4EJQAArM4UAevELO7d3X1ieW+D7j7W3VvdvbWxsTFBCQAAqzPFtwjfu9jva6vqriQPW6wDALhfmOJehP+xql6S+RDhA5L8r66/AgDuT+qeUbzV2Nra6u3t7ZXWAACwH1V1Y3dvna2debAAAAYTsAAABhOwAAAGE7AAAAYTsAAABhOwAAAGm2Ki0QPZ2dnJbDZbdRnAPh0/fnzVJQCsPT1YAACDCVgAAIMND1hVdaSquqp+raruqKrrRx8DAGCdTdmDdWGSa5LMqupb926oqqNVtV1V27u7uxOWAACwfFMGrF9L8m8Wy5fs3dDdx7p7q7u3NjY2JiwBAGD5pgxYX0py4k7SNeFxAADWiovcAQAGW/k8WJubm+bVAQDOKcMDVnffnHsPCRoeBADuVwwRAgAMJmABAAwmYAEADCZgAQAMJmABAAwmYAEADLbyebB2dnYym81WXQYAcIit25yaerAAAAYbHrCq6tqqen9V/WlV/auquq2qHj/6OAAA62qqHqzPJbk1ycOSfDLJd010HACAtTPVNVjbSY4kuXnx+PV7N1bV0SRHk+SCCy6YqAQAgNVY1jVY9zpOdx/r7q3u3trY2FhSCQAAy+EidwCAwQQsAIDBqrtXWsDW1lZvb2+vtAYAgP2oqhu7e+ts7fRgAQAMJmABAAwmYAEADCZgAQAMJmABAAwmYAEADDbVrXL2bWdnJ7PZbNVlAMChdfz48VWXwEmG92BV1Vuqqhf/njF6/wAA626KIcKrk3z/BPsFADgUhg8Rdvd/q6q7R+8XAOCwWMlF7lV1tKq2q2p7d3d3FSUAAExmJQGru49191Z3b21sbKyiBACAyUwVsL4y8f4BANbWVNM03Jbky0n+flV9JsnHuvu2iY4FALBWJglY3f2FqvqZJC9N8pwk/yDJu07VdnNz0/wdAMA5ZbIhvO7+ye5+SHdXd58yXAEAnItcIwUAMJiABQAwmIAFADCYgAUAMJiABQAwmIAFADDY8HmwqupIkpuSPLO733229js7O5nNZqPLAIDTMv8iU9ODBQAw2KQBq6peUFVfqqpnTHkcAIB1MmXA+s4k1yR5wX6GCgEAzhVTBqyXJfnTJL928oaqOlpV21W1vbu7O2EJAADLN2XAenuSS5O86OQN3X2su7e6e2tjY2PCEgAAlm/KgPVbSX4uyWur6uIJjwMAsFam/hbhm5J8OcnrJj4OAMDaGD4PVnffnKT2rHrEmdpvbm6ajwQAOKeYBwsAYDABCwBgMAELAGAwAQsAYDABCwBgsMkCVlU9oKrOr6o6e2sAgHPH8Gka9viOJO9N8teSfOR0jXZ2djKbzSYs4/RMDwEATGHKIcIPJ/kbST4x4TEAANbOZD1Y3X1Hkg9MtX8AgHU1SQ9WVf1mVfXi32VTHAMAYF1NNUT4T5K8/HQbq+poVW1X1fbu7u5EJQAArMYkQ4Td/UdV9fAzbD+W5FiSXHTRRT1FDQAAq2IeLACAwQQsAIDBppwH60R4+/KZGm1ubpqPCgA4pwwPWFX1sCRPTPLsJJ3k1tHHAABYZ1P0YH1bkv8nyV1Jru7u2yY4BgDA2hoesLr7d5K4/yAAcL/lIncAgMEELACAwQQsAIDBJgtYVXVeVT14qv0DAKyrKefB+skkL0ty0Zka7ezsZDabTVgGAIeJuRE5F0w5RPgvk3zXhPsHAFhLk/RgVdXNSb4xyedylh4sAIBzzVQ9WN+X5Fcm2jcAwFqbJGB19weS3Hy67VV1tKq2q2p7d3d3ihIAAFZmJdM0dPex7t7q7q2NjY1VlAAAMJkpbvZ8UZLLkhxJcl5VXZHks939kdHHAgBYR1Nc5H5Zkvfuef7eJO9LcsWpGm9ubvpKLgBwTpniZs83xM2eAYD7MbfKAQAYTMACABhMwAIAGEzAAgAYTMACABhMwAIAGGyKiUaPJLkpyTO7+91na7+zs5PZbDa6DDjUzA0HcLjpwQIAGGzKgPX3q+qOqrp+wmMAAKydKQPWhUn+RZJZVX3rhMcBAFgrUwasX0/yG4vlS/ZuqKqjVbVdVdu7u7sTlgAAsHxTBqwvJenF8r3uTdjdx7p7q7u3NjY2JiwBAGD5XOQOADCYgAUAMNjwebC6++bce0iwTtM0SbK5uWnOHwDgnKIHCwBgMAELAGAwAQsAYDABCwBgMAELAGAwAQsAYDABCwBgsOHzYB3Uzs5OZrPZqsu4XzL/GABMQw8WAMBgkwSsqrq6qm6vqrdXVVfV86Y4DgDAOhoesKrq25P8aJK35DS3yamqo1W1XVXbu7u7o0sAAFipKXqwLk9yd5LXJHndqRp097Hu3ururY2NjQlKAABYnSkCluu6AID7tSm+RfjhJA9K8lNJHj3B/gEA1trwgNXd762qtyZ5WZL3LFb/xenab25umi4AADinTDWc96Ek35vkjxbPPz7RcQAA1s5UE42+IMmTk9yR5A3d/eGJjgMAsHYmCVjd/bem2C8AwGHgG38AAIMJWAAAgwlYAACDCVgAAINN9S3CVNWLkrw+ycVJnt/d156q3c7OTmaz2VRlADCIOQth/6bswXp+kv+S5Gm5Z8JRAIBz3vCAVVVHqqozv+nztyf5vSTfM/o4AADraooerFuTPDXJHyf57cWyHiwA4H5jinsRfjHJDVX1+SS3dvcNJ7epqqNJjibJBRdcMLoEAICVWsm3CLv7WHdvdffWxsbGKkoAAJiMaRoAAAYTsAAABptsHqzuvmw/7TY3N82tAgCcU/RgAQAMJmABAAwmYAEADCZgAQAMJmABAAwmYAEADDbZNA37tbOzk9lstuoyAIADMMXSmenBAgAYTMACABhskoBVVS+sqluq6vaq+uWqOn+K4wAArKPhAauqnpDkbUnemuQlSZ6R5KqT2hytqu2q2t7d3R1dAgDASk1xkftTMw9ur9+z7sl7G3T3sSTHkuSiiy7qCWoAAFiZqb5F+OUk35HkK4vnn5noOAAAa2eKa7B+f7Hf70vysCRPT/LXJzgOAMBaGt6D1d0fqaofTvLKJEeT3JTkR0/XfnNz01waAMA5ZZIhwu5+e5K3T7FvAIB1Zx4sAIDBBCwAgMEELACAwQQsAIDBBCwAgMEELACAwaaayT1JUlUXJbk9yfO7+9pTtdnZ2clsNpuyDABWyFyH3B/pwQIAGGx4wKq5d1TV7Un+99H7BwBYd1P0YD09yZVJfiHJ+RPsHwBgrU0RsJ6Y5O4kr03y+lM1qKqjVbVdVdu7u7sTlAAAsDoruQaru49191Z3b21sbKyiBACAyUzxLcKPJnlQkp9M8sgJ9g8AsNam6MH63STXJnl5ki9NsH8AgLVW3b3SAra2tnp7e3ulNQAA7EdV3djdW2drZx4sAIDBBCwAgMEELACAwQQsAIDBBCwAgMEELACAwaaYaPRAdnZ2MpvNVl0GEzp+/PiqSwCApdKDBQAwmIAFADDYJAGrqv5yVb2vqv6/qvpYVf3lKY4DALCOproG69eSPDTJP0xyJMnX7d1YVUeTHE2SCy64YKISAABWY3jAqqqHJHlykhd297tP1aa7jyU5liQXXXTRam+GCAAw2BRDhLV4FJwAgPul4T1Y3X1HVf2HJD9RVZ9O8tgk7+/uj4w+FgDAOprqGqwfzHwI8J1Jbkny26druLm5aZ4kAOCcMknA6u6PJ/nOKfYNALDuzIMFADCYgAUAMJiABQAwmIAFADCYgAUAMJiABQAw2BS3yrkiyXuT/LX9TC66s7OT2Ww2uoxDx1xgAHDu0IMFADDYlAHrRVX16aq6vqoumPA4AABrZcqA9cgkr04yS/KcCY8DALBWpgxYP9fd1yS5KckT926oqqNVtV1V27u7uxOWAACwfFMGrD7thu5j3b3V3VsbGxsTlgAAsHyT3Ox54eVV9fgkj0vyhxMeBwBgrUwZsG5P8tNJfjPJvz5do83NTVMUAADnlOEBq7tvSFKLpy8YvX8AgHVnHiwAgMEELACAwQQsAIDBBCwAgMEELACAwQQsAIDBppwHa192dnbmZ1ukAAAEnklEQVQym81WXcY5w5xiALB6erAAAAYTsAAABpskYFXV9VX1uar6bFX9q6oS5ACA+42pgs+NSX4oyauS/ECS7967saqOVtV2VW3v7u5OVAIAwGoMv8i9qh6S5PIkr0xy/mL14/a26e5jSY4lyUUXXdSjawAAWKUperB+MMnfSfLSJE9frHvwBMcBAFhLU14b9YAkf3fC/QMArKUp5sH69ST/IMn/meSXz9Z4c3PT3E0AwDlleMDq7s8leeqeVS8dfQwAgHVm+gQAgMEELACAwap7tbMkVNWdST6+0iIY5ZIkf77qIrjPnMdzh3N57nAu18c3dvelZ2u08ps9J/l4d2+tugjuu6radi4PP+fx3OFcnjucy8PHECEAwGACFgDAYOsQsI6tugCGcS7PDc7jucO5PHc4l4fMyi9yBwA416xDDxYAwDllKQGrqmZVdVNV3VJVzx7VluXa77mpqsur6qNV9YWq+kRVzZZZJ2d30NdZVf2lqrqjqj6yjPrYvwP+ff2Wqnp/VX2+qv5rVT1oWXVyZgc8jy+sqlur6vaqeu2yauRgJh8irKoLk3wqybuS3JXkyiTf0N2fvi9tWa4DnsfvSfKUJH+Q5CWL5Yu7++7lVczpfC2vs6r6pSQ/mORj3X3ZUgrlrA74uqzM5xy8Oclbklye5LXdvbu0gjmlA57Hr0vy2czP4Z8l+Zkk39Ld/2V5FbMfywhYT0vyu0ken+TOJJ9M8szufvd9actyfa3npqp+KMmvJHl4d39m8kI5q4Oey6r6tiTXJflAkk0Ba30c8O/rk5N8KMmRJLe0C3DXxgHP40VJPp3keYt278v8dfnHSyuYfVnGRKOPWjxemeQLi+VHD2jLch343Cw+MT83yfuFq7Vy0HN5dZJX5d43cWc9HORcPjbJV5L8UpK/VVW/neRZerDWwr7PY3d/tqp+PMmvLlb9vHC1npZxDdaJYaFrMv9DnSSne0EfpC3L9bWcm9cluSzzPxqsj32fy6p6VpKvT3J9ko0kD6yqCyavkP06yOvy/Mz/5t+Y5EeSzJI8a9Lq2K+DvCYvTvKyJFcleXGSq6rqmyavkANbRsD61OLx/CQn/jDfOqAty3Wgc1NVz0/yY0n+XnfvTFwbB3OQc/n4JE9I8pkk3794/uZJq+MgDnIu/2zx+I7ufnuSLyb5hglrY/8Och6fnuT87v7F7n5rks8lefLE9fE1WMYQ4QeT3J7kFZl3fd6V+Zhxquq6JI/p7iedrS0rt+/zWFVXJHlb5hdhnrd4/oHu/uLyy+YUDvKavDbJDYvlVybZTPLPllgrZ3aQc/mhxfarqmon8zfzjy29Yk7lIOfxT5I8oqpelnknySOSfGLpFXNWkwes7t6tqudm/qn3gUmu7O47F5sfmuTifbZlhQ5yHpNckeRBSV6++Jckj8v820us2AFfkzdncd6q6nlJHtndH19mvZzeAc/lHVX1nCQ/m+SSzIejfmvJJXMKBzyPH6iqNyR5dZJO8lPd/YfLrpmzM5M7AMBgZnIHABhMwAIAGEzAAgAYTMACABhMwAIAGEzAAgAYTMACABhMwAIAGOz/B/7+4hexJnW/AAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x18f33abd7b8>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#plot.bar()和plot.barh()可以分别绘制垂直和水平的柱状图。在绘制柱状图是，Series或DataFrame的索引将会被用作x轴刻度（bar）或y轴刻度（barh）\n",
    "\n",
    "fig, axes = plt.subplots(2, 1)\n",
    "data = pd.Series(np.random.rand(16), index=list('abcdefghijklmnop'))\n",
    "data.plot.bar(ax=axes[0], color='k', alpha=0.7)\n",
    "data.plot.barh(ax=axes[1], color='k', alpha=0.7)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "#选项color = 'k'和alpha=0.7将柱子的颜色设置为黑色，并将图像的填充色设置为部分透明"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 58,
   "metadata": {},
   "outputs": [],
   "source": [
    "#在DataFrame中，柱状图将每一行中的值分组到并排的柱子中的一组\n",
    "df = pd.DataFrame(np.random.rand(6, 4),\n",
    "                  index=['one', 'two', 'three', 'four', 'five', 'six'],\n",
    "                  columns=pd.Index(['A', 'B', 'C', 'D'], name='Genus'))\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 59,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th>Genus</th>\n",
       "      <th>A</th>\n",
       "      <th>B</th>\n",
       "      <th>C</th>\n",
       "      <th>D</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>one</th>\n",
       "      <td>0.756365</td>\n",
       "      <td>0.409565</td>\n",
       "      <td>0.584654</td>\n",
       "      <td>0.480572</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>two</th>\n",
       "      <td>0.957784</td>\n",
       "      <td>0.606837</td>\n",
       "      <td>0.522685</td>\n",
       "      <td>0.526869</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>three</th>\n",
       "      <td>0.774129</td>\n",
       "      <td>0.331085</td>\n",
       "      <td>0.734889</td>\n",
       "      <td>0.972454</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>four</th>\n",
       "      <td>0.705427</td>\n",
       "      <td>0.849637</td>\n",
       "      <td>0.856439</td>\n",
       "      <td>0.154286</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>five</th>\n",
       "      <td>0.373137</td>\n",
       "      <td>0.259007</td>\n",
       "      <td>0.383708</td>\n",
       "      <td>0.678847</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>six</th>\n",
       "      <td>0.821091</td>\n",
       "      <td>0.960220</td>\n",
       "      <td>0.960964</td>\n",
       "      <td>0.342890</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "Genus         A         B         C         D\n",
       "one    0.756365  0.409565  0.584654  0.480572\n",
       "two    0.957784  0.606837  0.522685  0.526869\n",
       "three  0.774129  0.331085  0.734889  0.972454\n",
       "four   0.705427  0.849637  0.856439  0.154286\n",
       "five   0.373137  0.259007  0.383708  0.678847\n",
       "six    0.821091  0.960220  0.960964  0.342890"
      ]
     },
     "execution_count": 59,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 60,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x18f33f5a7b8>"
      ]
     },
     "execution_count": 60,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlgAAAJWCAYAAACEbPmsAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvNQv5yAAAIABJREFUeJzt3X+w3XV95/HXBwKGEkghpIoDaXDUJWujYCP+oCC26mztgMuqm0VZCaiotH+0RVunoqLtjjqL7bpWrK6uYVvxx+oUiPiLaol1+KFBqVSDnbpETAuWnwryIxQ++8c5YIgJ91zyvvfcc+/jMZM59577uTdvzhzj837O93y/rfceAADq7DHuAQAA5huBBQBQTGABABQTWAAAxQQWAEAxgQUAUExgAQAUE1gAAMUEFgBAsUXjHuCggw7qK1euHPcYAABTuuqqq27uvS+fat3YA2vlypXZtGnTuMcAAJhSa+0Ho6zzEiEAQDGBBQBQTGABABQb+zFYO3Pfffdl69atueeee8Y9yi4tXrw4hxxySPbaa69xjwIAzDFzMrC2bt2a/fbbLytXrkxrbdzj/Jzee2655ZZs3bo1hx122LjHAQDmmDn5EuE999yTZcuWzcm4SpLWWpYtWzand9gAgPGZMrBaa3u01r7UWrurtXb7COuPb61d11q7vrW29tEONlfj6kFzfT4AYHxG2cFqSe5OcsWUC1tbkuT8JJcm2ZBkfWtt2e4MCAAwaaYMrN77/b33Fyf56gg/76gkS5Kck+TdSRYnOWa3JtyJa6+9Nscee2wWL16cJz3pSbnsssuq/woAgEet+iD3g4e3p2Ww65Ukj99xUWvt9CSnJ8mKFSum/ZecdNJJuffee/Oxj30s3/72t/P9738/z3nOcx7lyAAAtaoPcr9veHtukvcOP96246Le+4d672t672uWL5/ycj4Pc/XVV+fqq6/On/7pn+YlL3lJ3v72t2ft2rX58Ic/nBUrVuSAAw7IqaeemnvuuSdbtmxJay0nn3xy9t9//5xwwglJkksvvTSttVx99dW54IIL0lrLli1bkiRve9vbsmzZsixZsiQve9nLHuXDAAAsZNWBdcPwdnGSfYYf31j5F1x33XVJktWrV+e+++7LPffck+9973t57Wtfm9e97nV5//vfnwsuuCDnnnvuQ99z55135owzzsiGDRvyne98Z5c/+9Zbb8073vGOvPKVr8zHP/7xHHnkkZWjAwALxCjvIty3tXZykqcm2au1dnJr7anDr13YWvvmdsuvTHJbkjOT/GGSu5JsrBy49/7gXDnppJOyzz775LnPfW4eeOCBvPnNb84rXvGK3H777fnGN77x0PecfPLJWbt28IbGm2++eZc/e//998+Tn/zkfP7zn883v/nNnHTSSZWjAwALxCjHYC1P8pfbff6XSd6e5NtJliY58MEv9N63tdZOSfK+JHsmOa33fkfduMkTnvCEJMk111yTd77znbn77rtz+eWXZ88998xXv/rV7LHHoBkPPPChsbJo0aKHTqvQe3/YKRbuv//+h6276qqr8tnPfjbnn39+3vOe9+T73/9+pvsyJgCwsI3yLsItvfe2w5+zh187rve+cof1G3rvK3vvh/beP1k98BFHHJEjjjgiZ555Zr773e/mrrvuyrHHHpsHHnggn/jEJ3Lbbbfly1/+cq688spd/oyDDjooSXLZZZflC1/4wkP3b9u2LW9729uy77775thjj80dd9yRrVu3Vv8nAADz3Jw8k/tUzj///CxdujRr167Nj370o7zmNa/JBz/4wVx88cU58cQT81d/9Vd53OMet8vvf8pTnpITTjghZ511Vm666aaH7t9jjz2yadOmvPzlL8/b3/72rFu3Lk996lNn4z8JAJhH2oPHNI3LmjVr+qZNmx523+bNm7Nq1aoxTTS6SZkTAKjRWruq975mqnUTuYMFADCXCSwAgGICCwCgmMACACgmsAAAigksAIBio5zJfexWvuni0p+35V2/NeWae++9N0uXLk3vPbfffnv22WefKb8HACCZkMAahyuuuCL33ntv9thjj1xxxRV53vOeN+6RYM7bfPj0zgu36trNMzQJwHh5iXAXNm7cmCc+8Yk5/PDDs3Fj6fWqAYB5zg7WLmzcuDHPfOYzs9deewksAGBa7GDtxH333ZcrrrgiRx55ZI444oiHXi4EABiFHayd+PrXv5677rorb3jDGx523zHHHDPGqQCASWEHayc2btyYfffdN5dddlkuv/zy7Lfffl4mBABGNhE7WKOcVqHSxo0b8+xnPzvPfvazkyTHHHNMLr300px11lmzOgcAzFerz1s98tprTrlmBieZGRMRWLPti1/84sM+v/ji2vNwAcC8c/bS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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x18f33f6ee48>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "\n",
    "df.plot.bar()\n",
    "#DataFrame的列名称Grnus被用作了图例标题"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 61,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x18f33f5acc0>"
      ]
     },
     "execution_count": 61,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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AACaCTIAgGaCDACgmSADAGgmyAAAmgkyAIBmggwAoJkgAwBoJsgAAJoJMgCAZoIMAKCZIAMAaCbIAACaCTIAgGaCDACgmSADAGi2qnsAAIBH88ADD2Tbtm3ZsWNH9yh7tXr16px00kk5/PDD9+n1ggwAWNa2bduWo48+OuvWrUtVdY/z94wxcscdd2Tbtm150pOetE/bcMkSAFjWduzYkeOPP35ZxliSVFWOP/74/TqDJ8gAgGVvucbYbvs7nyADAFa0L3/5yzn99NOzevXqPOUpT8n111/fPdKSCTIAYEU777zz8o1vfCPvete7cv755+erX/1q90hLJsgAgBVry5Yt2bJlS377t387L3/5y3PFFVfk3HPPzdvf/vY88YlPzNq1a3PhhRdmx44d2bp1a6oqF1xwQY455picffbZSZLrrrsuVZUtW7bkfe97X6oqW7duTZJcfvnlOf7443PUUUflnHPOmdnvIcgAgBXr5ptvTpKccsopeeCBB7Jjx4585StfycUXX5xXvepVectb3pL3ve99ueqqqx56zT333JPXvOY1+cAHPpAbb7xxr9u+8847c+WVV+anf/qn8573vCdPf/rTZ/Z7CDIAYMUaYyTZ9aH68847L4973ONyxhlnZOfOnfnVX/3V/NRP/VS++c1v5q/+6q8ees0FF1yQc889N0nyjW98Y6/bPuaYY3LyySfnwx/+cP76r/8655133sx+D99DBgCsWE9+8pOTJJ///OfzG7/xG/nOd76Tz3zmM3nMYx6TT37ykznssF3nno477riHXrNq1aqH/ipyjPE9fyH53e9+93vW3XDDDfmzP/uzvPvd785v/dZv5atf/WpOPPHEqf8ezpABACvW+vXrs379+vzCL/xCvvjFL+bee+/N6aefnp07d+aP//iPs3379nz84x/PZz/72b1u44QTTkiSXH/99fnIRz7y0OP3339/Lr/88hx55JE5/fTTc/fdd2fbtm0z+T0EGQCwor373e/OmjVrcu655+b222/Pz/3cz+Wtb31rPvjBD+ZlL3tZ3vnOd+bxj3/8Xl//tKc9LWeffXbe8IY35Otf//pDjx922GGZn5/P+eefnyuuuCIbNmzIqaeeOpPfoXZfe10p5ubmxvz8fPcYAMAB8qUvfSk/9EM/1D3Ggh5pzqq6YYwxt9BrnSEDAGgmyAAAmq24v7K8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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x18f340b0160>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#可以通过传递stacked=True来生成堆积柱状图，会使每一行的值堆积到一起\n",
    "df.plot.barh(stacked=True,alpha=0.5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "metadata": {},
   "outputs": [],
   "source": [
    "##使用value_counts:s.value_counts().plot.bar()可以有效的对Series值频率进行可视化"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 67,
   "metadata": {},
   "outputs": [],
   "source": [
    "tips = pd.read_csv(r'D:\\pydata-book-2nd-edition\\pydata-book-2nd-edition\\examples\\tips.csv')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 68,
   "metadata": {},
   "outputs": [],
   "source": [
    "party_counts = pd.crosstab(tips['day'], tips['size'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 69,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th>size</th>\n",
       "      <th>1</th>\n",
       "      <th>2</th>\n",
       "      <th>3</th>\n",
       "      <th>4</th>\n",
       "      <th>5</th>\n",
       "      <th>6</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>day</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>Fri</th>\n",
       "      <td>1</td>\n",
       "      <td>16</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Sat</th>\n",
       "      <td>2</td>\n",
       "      <td>53</td>\n",
       "      <td>18</td>\n",
       "      <td>13</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Sun</th>\n",
       "      <td>0</td>\n",
       "      <td>39</td>\n",
       "      <td>15</td>\n",
       "      <td>18</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Thur</th>\n",
       "      <td>1</td>\n",
       "      <td>48</td>\n",
       "      <td>4</td>\n",
       "      <td>5</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "size  1   2   3   4  5  6\n",
       "day                      \n",
       "Fri   1  16   1   1  0  0\n",
       "Sat   2  53  18  13  1  0\n",
       "Sun   0  39  15  18  3  1\n",
       "Thur  1  48   4   5  1  3"
      ]
     },
     "execution_count": 69,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "party_counts\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 70,
   "metadata": {},
   "outputs": [],
   "source": [
    "party_counts = party_counts.loc[:, 2:5]\n",
    "#没有太多的1人和6人派对"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 71,
   "metadata": {},
   "outputs": [],
   "source": [
    "party_pcts = party_counts.div(party_counts.sum(1), axis=0)\n",
    "#标准化至和为1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 72,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th>size</th>\n",
       "      <th>2</th>\n",
       "      <th>3</th>\n",
       "      <th>4</th>\n",
       "      <th>5</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>day</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>Fri</th>\n",
       "      <td>0.888889</td>\n",
       "      <td>0.055556</td>\n",
       "      <td>0.055556</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Sat</th>\n",
       "      <td>0.623529</td>\n",
       "      <td>0.211765</td>\n",
       "      <td>0.152941</td>\n",
       "      <td>0.011765</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Sun</th>\n",
       "      <td>0.520000</td>\n",
       "      <td>0.200000</td>\n",
       "      <td>0.240000</td>\n",
       "      <td>0.040000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Thur</th>\n",
       "      <td>0.827586</td>\n",
       "      <td>0.068966</td>\n",
       "      <td>0.086207</td>\n",
       "      <td>0.017241</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "size         2         3         4         5\n",
       "day                                         \n",
       "Fri   0.888889  0.055556  0.055556  0.000000\n",
       "Sat   0.623529  0.211765  0.152941  0.011765\n",
       "Sun   0.520000  0.200000  0.240000  0.040000\n",
       "Thur  0.827586  0.068966  0.086207  0.017241"
      ]
     },
     "execution_count": 72,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "party_pcts"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 73,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x18f3421e198>"
      ]
     },
     "execution_count": 73,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlgAAAJeCAYAAABoP3vBAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvNQv5yAAAHZhJREFUeJzt3X+w3XV95/HXG4ikNYoSUsGFNGFA1DZtUZaxZQhharvuamh3R8fRmQVkBa3K1K7rLtaxUKsttv5WWKV2gc4U7dZaAS0OqxKs0xGFFRtaFaUgzRQcJChxBQPy2T/uiUJMzIW8wzk39/GYyZx7z/nc77xn8p2bZ77f7/meGmMEAIA++0x7AACAvY3AAgBoJrAAAJoJLACAZgILAKCZwAIAaCawAACaCSwAgGYCCwCg2X7THuCggw4aq1atmvYYAAC7dN11131rjLFiV+umHlirVq3KtddeO+0xAAB2qaq+MZ91ThECADQTWAAAzQQWAECzqV+DBQAsLvfdd182bdqUe++9d9qj7NTSpUtz6KGHZsmSJY/o5wUWAPCo2rRpUx73uMdl1apVqappj/Njxhi58847s2nTpqxevfoRbcMpQgDgUXXvvfdm+fLlMxlXSVJVWb58+W4dYRNYAMCjblbjapvdnU9gAQALzv3335/vf//70x5jpwQWALDgvOlNb8qTnvSkaY+xUwILAFhwXvrSl+aTn/zktMfYKYEFAMyss88+O8uXL8+yZcvyghe8IMncx+wddthhefazn/3Ddbfcckuq6iF/NmzYkCT5wAc+kJUrV+aJT3xiXvKSlzwqt4cQWADATNq8eXPe+MY35uSTT84HP/jBHH300UmSD33oQznllFMesvbggw/OVVddlauuuipr167NE5/4xBxxxBHZuHFjXvayl+XlL395zjvvvHz0ox/N+eefv8dndx8sAGAmPf7xj89TnvKUXHHFFXnCE56Qk08+OUnyrGc9K5/4xCcesnbp0qVZt25d3ve+9+Xv//7vc8UVV+TQQw/NRz7ykTzwwAN5/etf/8O1X/jCF/b47AILAJhJ++23X6677rp87GMfyyWXXJK3ve1tuemmm7JixYodrv/Upz6VM888M+9617secvpw3333zWc+85nss8/cibsDDzxwj8/uFCEAMJO2bt2as88+O4997GOzdu3abNmyJZs2bcqGDRtyyy235P7778+GDRty/fXXZ9OmTXnBC16QZz3rWXn605+eDRs25Nvf/nbWrl2bBx54IB/60Idy11135VOf+lSuueaaPT67I1gAwEzaZ599cu211+aCCy5Ikpx66qnZvHnzQ45OnXjiiTnhhBNyzjnn5K677spnP/vZnHjiiUmSq666KuvWrcv73//+nHvuubnggguyevXqvPvd797jswssAGAm7bfffrn66qt/7Pkxxg7X7+z5008/PaeffnrrbLviFCEAQDOBBQDQTGABADQTWAAAzQQWAEAzgQUA0MxtGgCAqVp11sdbt3fLuc/d5ZrPf/7zOf3003PjjTfmsMMOy9ve9rasX7++bQaB9SBdf8Hz+YsFAKZn8+bNed7znpdf+ZVfyXnnnZcXv/jF2bx5c5YsWdKyfYEFACw6z3nOc/Kc5zwnSXLnnXfmiiuuyJYtW9o+p9A1WADAojXGyMUXX5zjjz++9UOgHcECABatN7zhDbn++uvbPwBaYAEAi9KFF16Yt7/97bnyyitzxBFHtG7bKUIAYNHZsGFDXvayl+XlL3957r///mzYsCH33ntv2/YdwQIApmoa777fsGFD7rvvvrzjHe/IO97xjiTJzTffnFWrVrVs3xEsAGDROeecczLGeMifrrhKBBYAQDuBBQDQTGABADQTWAAAzQQWAEAzgQUA0Mx9sACA6TrngObtfWeXS7761a9m/fr1ufXWW3PQQQflda97XV75yle2jeAIFgCw6CxZsiS/9Vu/lb/+67/O2rVr86pXvSq33XZb2/YFFgCw6Bx++OF59atfnRNOOCFr1qzJ/vvvn8c85jFt23eKEABYlG666aYceeSR2X///XPhhRdm+fLlbdt2BAsAWJQOO+ywfPazn82LXvSinHnmmdm8eXPbtgUWALAo7b///jnuuOPy2te+NnfeeWeuu+66tm07RQgALDqXXXZZbr755hx11FH5y7/8y+yzzz5ZvXp12/YFFgAwXfO4rcKe8M53vjP/+q//moMPPjjnn39+jjjiiLZtCywAYNE56aSTctJJJ+2x7bsGCwCgmcACAGgmsAAAmgksAIBmAgsAoJnAAgBo5jYNAMBUrbl4Tev2Np6ycd5rv/nNb+bII4/M4Ycfnuuvv75tBkewAIBF63Wve13uueee9u0KLABgUbruuuty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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x18f341e4080>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "party_pcts.plot.bar()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 74,
   "metadata": {},
   "outputs": [],
   "source": [
    "#对于绘图前需要聚合或汇总的数据，使用seaborn包会使工作更为简单。现在让我们看下使用seaborn进行按星期日期计算小费百分比\n",
    "import seaborn as sns"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 75,
   "metadata": {},
   "outputs": [],
   "source": [
    "tips['tip_pct'] = tips['tip']/(tips['total_bill']-tips['tip'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 76,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>total_bill</th>\n",
       "      <th>tip</th>\n",
       "      <th>smoker</th>\n",
       "      <th>day</th>\n",
       "      <th>time</th>\n",
       "      <th>size</th>\n",
       "      <th>tip_pct</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>16.99</td>\n",
       "      <td>1.01</td>\n",
       "      <td>No</td>\n",
       "      <td>Sun</td>\n",
       "      <td>Dinner</td>\n",
       "      <td>2</td>\n",
       "      <td>0.063204</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>10.34</td>\n",
       "      <td>1.66</td>\n",
       "      <td>No</td>\n",
       "      <td>Sun</td>\n",
       "      <td>Dinner</td>\n",
       "      <td>3</td>\n",
       "      <td>0.191244</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>21.01</td>\n",
       "      <td>3.50</td>\n",
       "      <td>No</td>\n",
       "      <td>Sun</td>\n",
       "      <td>Dinner</td>\n",
       "      <td>3</td>\n",
       "      <td>0.199886</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>23.68</td>\n",
       "      <td>3.31</td>\n",
       "      <td>No</td>\n",
       "      <td>Sun</td>\n",
       "      <td>Dinner</td>\n",
       "      <td>2</td>\n",
       "      <td>0.162494</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>24.59</td>\n",
       "      <td>3.61</td>\n",
       "      <td>No</td>\n",
       "      <td>Sun</td>\n",
       "      <td>Dinner</td>\n",
       "      <td>4</td>\n",
       "      <td>0.172069</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   total_bill   tip smoker  day    time  size   tip_pct\n",
       "0       16.99  1.01     No  Sun  Dinner     2  0.063204\n",
       "1       10.34  1.66     No  Sun  Dinner     3  0.191244\n",
       "2       21.01  3.50     No  Sun  Dinner     3  0.199886\n",
       "3       23.68  3.31     No  Sun  Dinner     2  0.162494\n",
       "4       24.59  3.61     No  Sun  Dinner     4  0.172069"
      ]
     },
     "execution_count": 76,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "tips.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 81,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x18f35d018d0>"
      ]
     },
     "execution_count": 81,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x18f35716278>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.barplot(x='tip_pct',y='day',data=tips,orient='h')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 82,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x18f35ec06a0>"
      ]
     },
     "execution_count": 82,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x18f356e8710>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.barplot(x='tip_pct', y='day', hue='time', data=tips, orient='h')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 83,
   "metadata": {},
   "outputs": [],
   "source": [
    "plt.close('all')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 84,
   "metadata": {},
   "outputs": [],
   "source": [
    "sns.set(style=\"whitegrid\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 85,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.figure.Figure at 0x18f35c32400>"
      ]
     },
     "execution_count": 85,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "<matplotlib.figure.Figure at 0x18f35c32400>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 86,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x18f356bb5f8>"
      ]
     },
     "execution_count": 86,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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z9I111wzuAMe41asWJEdO3Zk9erVOffcc7Nw4cKD17k/ag397VFSc380bIKrv7cN+o//+I98//vfz8yZM3PhhRfmlVdecScxBA731k7/+q//mieffDK//du/naVLl8Yv0A6N559/Prt27cr73ve+n7hu9+7d2blzZ84///zMmDEjo0ePTk9PzxBMeWzrb4+SH/4sfec738k73vGOfPCDH0xfX98gT3hsmzdvXh588MFMmDAhJ510Ul599dWD17k/ag397VFSc380qK/DVam/tw3avXt3kmTUqFEZNWrUwdszuA731k5vectbMnHixJx22mm57rrrcvrpp/uX+RAYP3587rrrrqxateonrvvRnnmLrqHV3x4lya/8yq9kypQp6erqyo033pjly5fngx/84CBPeezq6OhIR0dH1q9fn8985jO5/vrrD17n/qg19LdHSc390bAJrjFjxhz8V1xfX186OjoOue5Hl+/duzdJDrmewdHfHiXJTTfdlCQ5/vjjc/rpp2fnzp2DPiP9+9HP0o+eM/TT9pGhd8011+TAgQN5wxvekKlTp/pZGgJr167NggULcskllxxyJtL9Uet4rT1Kau6Phs1Diuecc06efvrpQ9426OWXX87evXtz2mmnpaOjI4888kgefvjhtLW15eyzzx7qkY85/e3R3r1709XVldtvvz3f+MY38q1vfStTpkwZ6pH5//bu3ZuXX345HR0dmThxYjZt2pTNmzdnz549h32LLgbHj/YoSd7+9rdnwYIFefbZZ/PEE0/4WRpkPT09WbhwYWbOnJnFixfn5Zdfdn/UYvrbo7L7o8Yw8corrzSWLFnSmDZtWmPOnDmN//zP/2xcffXVjT/+4z9uNBqNxsaNGxsXXHBB49d+7dca//AP/zDE0x6bDrdH69evb8ycObNx7rnnNv7iL/6isX///iGe+Ni2cuXKxhlnnNHo6+trLFiwoHHllVc2Go1GY/v27Y1Zs2Y13vKWtzTuvPPOIZ7y2PZae/TYY481Zs2a1Zg2bVrj5ptvbrz88stDPOmxZf78+Y0zzjjjkD9XXnml+6MWcrg9qrg/8tY+AADFhs1DigAArUpwAQAUE1wAAMUEFwBAMcEFAFBMcAEAFBNcAADFBBcAQLH/B3/EiSio8Ek0AAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x18f35c62208>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "tips['tip_pct'].plot.hist(bins=50)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 87,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.figure.Figure at 0x18f356c44a8>"
      ]
     },
     "execution_count": 87,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "<matplotlib.figure.Figure at 0x18f356c44a8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 88,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x18f35c036a0>"
      ]
     },
     "execution_count": 88,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x18f359b6748>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "tips['tip_pct'].plot.density()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 89,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.figure.Figure at 0x18f35e8bf98>"
      ]
     },
     "execution_count": 89,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "<matplotlib.figure.Figure at 0x18f35e8bf98>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 90,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x18f356c4d30>"
      ]
     },
     "execution_count": 90,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlcAAAJACAYAAACg6EOnAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvNQv5yAAAIABJREFUeJzs3WdgFOXC9vErPUACAqGDhHIO0qQEQZpSNfQmvQsExIrlRXlQjIKKgogiShQfEKUphMMB6UVQ8AChawCBJBZQQIgESEjb94NPckCFBLiz9+7m//ti3N2ZuWZ2srmYmb3Hy+FwOAQAAAAjvG0HAAAA8CSUKwAAAIMoVwAAAAZRrgAAAAyiXAEAABhEuQIAADAox3KVmZmpF154QWFhYerevbvi4uKuen7evHlq1qyZGjRooMjISGWN7NCiRQtVq1ZN1apVU3h4eN6kBwAAcDFeOY1ztWbNGj399NNasGCBpk2bJj8/P73//vuSpJMnT6ply5aaNGmSQkJCFBERoffff1916tRR48aNtWjRIlWuXFne3t4KCgpyygoBAADY5JvTC3bv3q3Q0FDVqlVLTZo0UVRUVPZzISEhWr16tcqVK6cffvhBkpSRkaEDBw5Ikp599ln5+fnpf/7nf3T33XdfdzkxMTG3sh4AAABOFRYW9reP53haMCkpSYGBgZKkwMBAJSUlZT/n5+en0NBQnTt3To8++qhCQ0N1zz33qFChQurXr5+mTp2q2rVr64knnlB6erqhVQEAAHBdOR65CgoKUkpKiiQpJSVFwcHBVz3/66+/atCgQUpJSdHcuXPl7++vBg0a6I477lBQUJDCw8O1ZMkSnT59WmXKlLnusq7VAHFtMTExbDcnYVs7D9vaedjWzsO2dh5nbOvrnXHL8chVnTp1FB8fr9jYWG3btk316tXTxYsXlZycrPT0dI0cOVKJiYmaNWuWihUrptTUVM2YMUMtWrTQsWPHtHnzZpUqVUolS5Y0ulIAAACuKMcjV+Hh4dqxY4cGDBigihUraurUqRo1apRCQkLUoUMHxcbGSpK6dOkiSXrxxRc1dOhQxcbG6oEHHlCFChU0Y8YM+fj45O2aAAAAuIAcy5WPj48iIyMVGRmZ/di8efOyfz58+PDfTvfuu+8aiAcAAOBeGEQUAADAIMoVAACAQZQrAAAAgyhXAAAABlGuAAAADKJcAQAAGES5AgAAMIhyBQAAYBDlCgAAwCDKFQAAgEGUKwAAAIMoVwAAAAZRrgAAAAyiXAEAABhEuQIAADCIcgUAAGAQ5QoAAMAgyhUAAIBBlCsAAACDKFcAAAAG+doOALiLpUuXKiYmRpIUERFhOQ0AwFVx5AoAAMAgyhUAAIBBlCsAAACDKFcAAAAGUa4AAAAMolwBAAAYRLkCAAAwiHIFAABgEOUKAADAIMoVAACAQZQrAAAAgyhXAAAABlGuAAAADKJcAQAAGES5AgAAMIhyBQAAYBDlCgAAwCDKFQAAgEGUKwAAAIMoVwAAAAZRrgAAAAyiXAEAABhEuQIAADCIcgUAAGAQ5QoAAMAgyhUAAIBBlCsAAACDKFcAAAAGUa4AAAAMolwBAAAYRLkCAAAwiHIFAABgEOUKAADAIMoVAACAQZQrAAAAgyhXAAAABlGuAAAADKJcAQAAGES5AgAAMIhyBQAAYBDlCgAAwCDKFQAAgEGUKwAAAIMoVwAAAAZRrgAAAAyiXAEAABhEuQIAADCIcgUAAGAQ5QoAAMAgyhUAAIBBlCsAAACDKFcAAAAGUa4AAAAMolwBAAAYRLkCAAAwiHIFAABgEOUKAADAIMoVAACAQZQrAAAAgyhXAAAABvnaDgC4qqioKNsRAABuiCNXAAAABlGuAAAADKJcAQAAGES5AgAAMIhyBQAAYBDlCgAAwCDKFQAAgEGUKwAAAIMoVwAAAAZRrgAAAAyiXAEAABhEuQIAADCIcgUAAGAQ5QoAAMAgyhUAAIBBlCsAAACDKFcAAAAGUa4AAAAMolwBAAAYlGO5yszM1AsvvKCwsDB1795dcXFxVz0/b948NWvWTA0aNFBkZKQcDoeSk5P16KOPql69eho8eLB+++23PFsBAAAAV5JjuVq3bp2io6M1d+5cFS1aVJMnT85+7uTJk5o0aZLGjBmjqVOnav78+dq8ebMWLFig3bt36/PPP9fZs2c1c+bMPF0JAAAAV5Fjudq9e7dCQ0NVq1YtNWnSRHv27Ml+LiQkRKtXr1bnzp1Vvnx5SVJGRoZ2796t2rVrq0qVKrrrrruumgYAAMCT+eb0gqSkJAUGBkqSAgMDlZSUlP2cn5+fQkNDderUKT366KMKDQ3VPffco3nz5qlo0aJ/O831xMTE3Mw65Htst7yRkJBwzcfY5nmPbew8bGvnYVs7j81tnWO5CgoKUkpKiiQpJSVFwcHBVz3/66+/atCgQUpJSdHcuXPl7++f4zTXEhYWdqP5872YmBi2Wx758y9mQkKCKlasKIl9Na+xXzsP29p52NbO44xtfb3yluNpwTp16ig+Pl6xsbHatm2b6tWrp4sXLyo5OVnp6ekaOXKkEhMTNWvWLBUrVkypqamqU6eODh48qOPHj2vnzp2qV6+e0RUCAABwVTkeuQoPD9eOHTs0YMAAVaxYUVOnTtWoUaMUEhKiDh06KDY2VpLUpUsXSdKLL76o/v376+DBg+rRo4dq166t0aNH5+1aAAAAuIgcy5WPj48iIyMVGRmZ/di8efOyfz58+PDfTvf2228biAcAAOBeGEQUAADAIMoVAACAQTmeFgQ8QVRU1FX/HxER8bfPXfk4AAA3gyNXAAAABlGuAAAADKJcAQAAGES5AgAAMIhyBQAAYBDlCgAAwCDKFQAAgEGUKwAAAIMoVwAAAAZRrgAAAAyiXAEAABhEuQIAADCIcgUAAGAQ5QoAAMAgyhUAAIBBlCsAAACDKFcAAAAGUa4AAAAMolwBAAAYRLkCAAAwiHIFAABgEOUKAADAIMoVAACAQZQrAAAAgyhXAAAABlGuAAAADKJcAQAAGES5AgAAMIhyBQAAYBDlCgAAwCBf2wEAG6KiomxHAHLlz/tqRESEpSQAcosjVwAAAAZRrgAAAAyiXAEAABhEuQIAADCIcgUAAGAQ5QoAAMAgyhUAAIBBlCsAAACDKFcAAAAGUa4AAAAMolwBAAAYRLkCAAAwiHIFAABgEOUKAADAIMoVAACAQZQrAAAAgyhXAAAABlGuAAAADKJcAQAAGES5AgAAMIhyBQAAYBDlCgAAwCDKFQAAgEGUKwAAAIMoVwAAAAZRrgAAAAyiXAEAABhEuQIAADCIcgUAAGCQr+0AgCuJioq6pWkiIiJMxgEAuCGOXAEAABhEuQIAADCIcgUAAGAQ5QoAAMAgyhUAAIBBlCsAAACDKFcAAAAGUa4AAAAMolwBAAAYRLkCAAAwiHIFAABgEOUKAADAIMoVAACAQZQrAAAAgyhXAAAABlGuAAAADKJcAQAAGES5AgAAMIhyBQAAYBDlCgAAwCDKFQAAgEGUKwAAAIMoVwAAAAZRrgAAAAyiXAEAABhEuQIAADCIcgUAAGAQ5QoAAMAgyhUAAIBBlCsAAACDfG0HADxJVFTUVf8fERGRJ9MAAFwXR64AAAAMolwBAAAYRLkCAAAwiHIFAABgEOUKAADAoBzLVWZmpl544QWFhYWpe/fuiouL+8trTp48qQYNGmjBggXZj/Xv31/VqlVTtWrVVLt2bbOpAQAAXFSO5WrdunWKjo7W3LlzVbRoUU2ePPmq59evX6/evXsrKSkp+7HMzEx99913mjZtmnbu3Klt27aZTw4AAOCCcixXu3fvVmhoqGrVqqUmTZpoz549Vz2/fv16jRs37qrH4uLidOnSJU2fPl09e/bU1q1bzaYGAABwUTkOIpqUlKTAwEBJUmBg4FVHqCTptdde+8s0DodDvXr1Urdu3bR161aNHTtWDRs2VEhIyHWXFRMTcyPZ8X/YbjlLSEgwOp8rt/n15p2b9+bP0/N+/oHt8Adn7B9sa+dhWzuPzW2dY7kKCgpSSkqKJCklJUXBwcE5zrRq1aoaO3asgoKCVKRIEc2cOVPx8fE5lquwsLBcxkaWmJgYtlsumPglS0hIUMWKFSVdva9eb965eW/+PD3vJ/v1lfJ6/2BbOw/b2nmcsa2v99mf42nBOnXqKD4+XrGxsdq2bZvq1aunixcvKjk5+ZrTREdHq2HDhtq7d682bNigAgUKqEqVKjeXHgAAwI3keOQqPDxcO3bs0IABA1SxYkVNnTpVo0aNUkhIiKZNm/a303Tq1EkxMTF68MEHVaJECU2fPl1FixY1Hh4AAMDV5FiufHx8FBkZqcjIyOzH5s2b95fXHT58+L8z9fXVxIkTNXHiREMxAQAA3AODiAIAABhEuQIAADCIcgUAAGAQ5QoAAMAgyhUAAIBBlCsAAACDKFcAAAAGUa4AAAAMolwBAAAYRLkCAAAwiHIFAABgEOUKAADAIMoVAACAQZQrAAAAgyhXAAAABlGuAAAADKJcAQAAGES5AgAAMIhyBQAAYBDlCgAAwCDKFQAAgEGUKwAAAIMoVwAAAAZRrgAAAAyiXAEAABhEuQIAADCIcgUAAGAQ5QoAAMAgyhUAAIBBlCsAAACDKFcAAAAGUa4AAAAMolwBAAAYRLkCAAAwiHIFAABgEOUKAADAIMoVAACAQZQrAAAAgyhXAAAABlGuAAAADKJcAQAAGES5AgAAMIhyBQAAYBDlCgAAwCDKFQAAgEGUKwAAAIMoVwAAAAb52g4AeLKoqKi/fTwiIsLJSeBMV77v7vpee8I6ALZw5AoAAMAgyhUAAIBBlCsAAACDKFcAAAAGUa4AAAAMolwBAAAYRLkCAAAwiHIFAABgEOUKAADAIMoVAACAQZQrAAAAgyhXAAAABlGuAAAADKJcAQAAGES5AgAAMIhyBQAAYBDlCgAAwCDKFQAAgEGUKwAAAIMoVwAAAAZRrgAAAAyiXAEAABhEuQIAADCIcgUAAGAQ5QoAAMAgyhUAAIBBlCsAAACDKFcAAAAGUa4AAAAM8rUdADApKioq++eIiAiLSYAbc6v7Lvs+4Do4cgUAAGAQ5QoAAMAgyhUAAIBBlCsAAACDKFcAAAAGUa4AAAAMolwBAAAYRLkCAAAwiHIFAABgEOUKAADAIMoVAACAQZQrAAAAgyhXAAAABlGuAAAADKJcAQAAGES5AgAAMIhyBQAAYBDlCgAAwCDKFQAAgEGUKwAAAIMoVwAAAAZRrgAAAAyiXAEAABiUY7nKzMzUCy+8oLCwMHXv3l1xcXF/ec3JkyfVoEEDLViwINfTAAAAeKIcy9W6desUHR2tuXPnqmjRopo8efJVz69fv169e/dWUlJSrqcBAADwVDmWq927dys0NFS1atVSkyZNtGfPnqueX79+vcaNG3dD0wDuxOFw6MSJEzp9+rQcDoftOAAAF+eb0wuSkpIUGBgoSQoMDLzqCJUkvfbaazc8zbXExMTk6nW4GtvtvxISErJ/vnK7XPl4bp07d07ffvutvvvuO505c0aStHDhQlWpUkVJSUm6++67FRgYeFPzvl423s8/uPN2uNZ+eDPT5Hb/uJllXu/1tzI/XBvb0nlsbuscy1VQUJBSUlIkSSkpKQoODs5xpjczjSSFhYXl6nX4r5iYGLbbFa78Zbpyu9zIL9nly5c1e/Zs7du3T5Lk6+urunXrKjU1VQkJCdq7d6/27t2rSpUqae3atapYseIN57xeNt5P99+vr7Uf3sw0ud0/bmaZWdP93etvdn64Nnffr92JM7b19f6u5Fiu6tSpowULFig2Nlbbtm1TvXr1dPHiRXl7e6tAgQK5ngZwBykpKXrnnXd09OhRVa5cWc2bN1e9evVUoEABJSQkqEKFCoqLi1NSUpLee+89NW3aVCNGjNDtt99uOzoAwEXkeM1VeHi4unfvrgEDBujcuXMaO3asRo0a9ZfrrHKaBnB1ycnJmj59uo4ePaqwsDA9/fTTatKkyVX/iPD29laVKlU0c+ZMvfvuuzp9+rSmTp2qw4cPW0wOAHAlOR658vHxUWRkpCIjI7Mfmzdv3l9ed+Ufl7+bBnBlFy9e1Ntvv634+Hg1bNhQQ4YMkY+Pz3WnGT16tEJCQtSvXz+9/fbbGjFihOrWreukxIBri4qKyv45IiLCYhLA+RhEFPleRkaGZsyYofj4eDVu3FhDhw7NsVhl6dWrlx555BH5+Pho9uzZOn36dB6nBQC4OsoV8r2NGzfq+PHjCgsL06BBg+TtfWO/FjVq1NCAAQOUmpqqjz/+WJmZmXmUFADgDihXyNfOnDmj5cuXKygoSP369bvhYpXlrrvuUp06dXTkyBFt2bLFcEoAgDuhXCHfcjgc+vTTT5WamqqePXsqKCjopufl5eWl/v37q2DBglq6dGn2uFgAgPyHcoV8a8eOHfruu+9Uo0YNNWrU6JbnV6RIEfXu3VuXL1/m9CAA5GOUK+RLFy5c0OLFi+Xv76/+/fvLy8vLyHwbNWqk2rVr6/Dhw9q6dauReQIA3AvlCvnS559/rgsXLqhz584KCQkxNl8vLy8NGDBABQoU0LJly5ScnGxs3gAA90C5Qr7zyy+/6JtvvlH58uXVqlUr4/O/7bbb1LZtW126dElffvml8fkDAFwb5Qr5ztq1a+VwONShQ4dcj2d1o1q1aqUCBQpo3bp1unz5cp4sAwDgmihXyFfOnj2rb775RqVKlcrT0dQLFCigVq1a6cKFCwzNAAD5DOUK+cq6deuUkZGh+++//6bHtMqt1q1bKyAgQGvXrlVqamqeLgsA4DooV8g3Lly4oK+++kpFixY1MvRCTgoVKqSWLVvq/Pnz+uqrr/J8eQAA10C5Qr6xceNGpaamqm3btvL1zfGe5Ua0adNG/v7+WrNmjdLS0pyyTACAXZQr5AspKSnatGmTgoKC1KxZM6ctNzg4WPfee68SExO1bds2py0XAGAP5Qr5wpYtW3Tp0iW1atVKAQEBTl1227Zt5efnp7Vr1zJqOwDkA5QreLz09HRt2LBBAQEBatGihdOXX6RIEd111106c+aMDh065PTlAwCci3IFj7dmzRolJiaqUaNGKlSokJUMzZs3lyRuiQMA+QDlCh5v9uzZkuTUa63+rFKlSipXrpz27t2r8+fPW8sBAMh7lCt4tF9//VX//ve/Vb58ed1+++3Wcnh5eal58+bKzMzkwnYA8HCUK3i0efPmKT09XU2bNpWXl5fVLI0aNZKfn5+++uorLmwHAA9GuYLHcjgcmj17tgICApwyaGhOChYsqAYNGuj06dPatGmT7TgAgDxCuYLH2r59uw4dOqRu3bpZu5D9z7IubI+KirKcBACQVyhX8FhZF7IPGzbMcpL/qly5ssqWLavo6GidOnXKdhwAQB6gXMEjpaSkaNGiRQoNDVWrVq1sx8mWdWF7Wlqa5s6dazsOACAPUK7gkXbt2qWLFy9q6NCh8vZ2rd28UaNGCgwM1IcffiiHw2E7DgDAMNf6qwMYsm3bNnl5eWnIkCG2o/xFoUKF1LlzZx05ckR79uyxHQcAYBjlCh7nt99+07Fjx9SyZUurY1tdT9++fSVJCxcutJwEAGAa5QoeJyYmRpLUu3dvy0muLTw8XIULF9bChQsZ8woAPAzlCh4nJiZG3t7e6t69u+0o1xQYGKju3bvrxx9/1PHjx23HAQAY5Gs7AGDSmTNnFB8frxo1aigkJMR2nOvq27ev5syZo507d6pq1arZj185BlZERISNaMgjfx7fzMb7++cMCQkJ2Ud7czPNlZldYX0AV8SRK3iUrD8SYWFhlpPkrFWrVipRooRiYmKUkZFhOw4AwBDKFTzKrl275O3trbp169qOkiNfX1/17NlTSUlJOnz4sO04AABDKFfwGEePHtUPP/yg6tWrKygoyHacXMn61uDOnTstJwEAmEK5gsf47LPPJLnHKcEsTZo0UdGiRbVnzx6lpaXZjgMAMIByBY+xePFi+fj4uMUpwSze3t5q0KCBkpOT9e2339qOAwAwgHIFj3DkyBHt3btXNWrUUKFChWzHuSENGzaUJO3YscNyEgCACZQreAR3PCWYpUKFCipZsqQOHjyo1NRU23EAALeIcgWP8Nlnn8nf31916tSxHeWGeXl5qW7durp8+bJiY2NtxwEA3CLKFdxeXFyc9u3bp9atW6tgwYK249yUrOvE9u7dazkJAOBWUa7g9v79739Lkrp06WI5yc2rVKmSihQpon379jGgKAC4OcoV3N7y5cslSZ06dbKc5OZ5e3urTp06unjxoo4dO2Y7DgDgFlCu4NYSExP15Zdf6q677lLZsmVtx7klWacG9+zZYzkJAOBWUK7g1latWqX09HR17tzZdpRbVq1aNRUoUEB79+6Vw+GwHQcAcJMoV3Br//rXvyTJI8qVr6+vateurbNnz+rHH3+0HQcAcJMoV3BbqampWrVqlUJDQ1W7dm3bcYzgW4MA4P4oV3BbW7Zs0fnz59W5c2d5eXnZjmNEzZo15evry3VXAODGKFdwW550SjBLYGCgqlevrhMnTujUqVO24wAAbgLlCm7J4XBo+fLlKlKkiO655x7bcYyqV6+eJL41CADuinIFt7R//3798MMPat++vfz8/GzHMerOO++Ul5eX9u3bZzsKAOAmUK7glrJOCbrzqOzXEhwcrCpVquj48eM6c+aM7TgAgBtEuYJbWr58uXx9fRUeHm47Sp6oXbu2HA6HVq9ebTsKAOAGUa7gdn755RfFxMSoefPmKlKkiO04eSJraIkVK1ZYTgIAuFGUK7idtWvXSpLatWtnOUneKVu2rIoVK6Y1a9YoPT3ddhwAwA2gXMHtrFq1SpJnlysvLy/Vrl1biYmJ2rZtm+04AIAbQLmCW8nIyNDatWtVvnx51axZ03acPJV1anDlypWWkwAAbgTlCm5lx44dOnv2rNq1a+cxo7JfS7Vq1RQYGMh1VwDgZihXcCv54ZRgFn9/f7Vu3Vrfffed4uPjbccBAOQS5QpuZfXq1fL19VXr1q1tR3GKDh06SOLUIG7M2bNndezYMcXGxmrfvn3atWsXY6YBTuRrOwCQW6dPn9auXbt0zz33qHDhwrbjOMWV5erhhx+2nAauKikpSfv379ehQ4cUGxurkSNH/u3rKlasqOLFi6tixYqqU6eOypQp4+SkQP5AuYLbWLNmjRwOR744JZjl9ttvV61atbRx40ZdvHhRhQoVsh0JLuT06dN6/fXX9e677yo5OVmS5OfnpzZt2qhChQoKCAiQv7+/vL29deTIEe3cuVMJCQnavXu3oqOj9c9//lM1atRQuXLl5OvLnwPAFH6b4BaioqI0e/ZsSa5xvVVUVJTTpu/YsaNee+01bdy4UZ06dbql5cK1XGs/yGn/OHPmjKZMmaK33npLly9fVtGiRdWiRQtVr15dlStX/sv9NiMiIiT9ccPzyZMn6+jRo/r666916NAhHTlyRBs3blR4eLhatGghHx8fMyvnwq7cvlnbBjCJcgW3kJmZqW+//Va33XZb9hAF+UWHDh302muvaeXKlZQraMmSJRo2bJh+//133XbbberWrZuaNWuWqxuYe3l5qVixYmrYsKEaNmyoX375RStWrNCBAwe0ePFibdu2TX379lXVqlWdsCaA56JcwS0kJCTo4sWLatq0qccPwfBnd999t4oWLaqVK1fK4XDku/XHH9LS0rRkyRJt2rRJBQsW1Jtvvik/Pz/5+/vf9DxLly6ttm3bqnfv3oqOjtbXX3+tN954Q40bN9YDDzygoKAgg2sA5B98WxBu4eDBg5Lk8QOH/p2sG1T/9NNPOnDggO04sCDr2qpNmzapZs2a2rVrl8aMGXNLxepKwcHBGjRokP7f//t/Kl++vLZv366JEycqLi7OyPyB/IZyBbfw7bffytvbW9WrV7cdxYqOHTtK4kbO+VFcXJxeeeUV/fDDD2rcuLH+85//5NnvQZUqVTRu3Dh17txZiYmJeuONN/Tll1/K4XDkyfIAT0W5gss7c+aM4uPjVblyZRUsWNB2HCvCw8Pl7e3NeFf5zPHjx/XWW28pOTlZAwcO1JAhQ/L8G6M+Pj7q0KGDHnvsMQUGBmr+/PmaM2eOUlNT83S5gCehXMHlrV27Vg6HQ7Vq1bIdxZpixYqpcePG+uabb/Tbb7/ZjgMnOHbsmKZPn67U1FQNGzZMzZo1c+rya9SoofHjxys0NFTffPONpk2bposXLzo1A+CuKFdweatXr5akfF2upD++NZiZmZm9PeC5jh49ml2shg8frrvuustKjmLFiunpp59Ww4YNdfz4cU2ZMkUnT560kgVwJ5QruLSsMlG4cGGVL1/edhyrskZr57orz/bTTz/p7bffVlpamkaMGKGwsDCrefz8/DR06FC1bNlSJ06cULNmzXT8+HGrmQBXR7mCS9u9e7dOnz6tmjVr5vshCGrXrq0KFSpo9erVSk9Ptx0HeSApKUkzZ87U5cuXNWzYMNWvX992JEmSt7e3evfurY4dO+r48eNq1qxZ9jd4AfwV5QoubdWqVZI4JSj9MQBkhw4dlJiYqO3bt9uOA8PS09M1a9Ys/fbbb+rUqZMaNGhgO9JVvLy81KlTJ02fPl0nT55UmzZt9Ouvv9qOBbgkyhVc2qpVq/L1EAx/duWNnOE5HA6HFi1apO+//17169dX+/btbUe6pscee0wzZszQr7/+qrfeektnz561HQlwOZQruKyzZ8/qP//5jxo3bswNi/9Pq1atFBgYyHVXHubLL7/Uli1bVL58eQ0ZMkTe3q790fzwww/rlVde0dmzZzVt2jSdP3/ediTApbj2bzDytXXr1ikzM9MlbtTsKgoWLKhWrVrp22+/VUJCgu04MCAuLk6LFi1ScHCwRo8erYCAANuRcuW5555TeHi4Tp06penTpzNMA3AFyhVcVtb1VuHh4ZaTuBZODXqOy5cv66OPPpLD4dDw4cNVvHhx25FuSNeuXXXvvffqp59+yr4QHwDlCi4qawiGkiVLql69erbjuBSGZPAcn3/+uU6dOqU2bdrojjvusB3nhnl5ealPnz4KCwvT0aNHNXwbx2jVAAAgAElEQVT4cG6VA4hyBRe1d+9e/frrr9m3fcF/VaxYUbVq1dKmTZt06dIl23Fwk/bv368tW7aoXLly6tKli+04N83b21tDhgxRpUqV9Mknn+jll1+2HQmwjr9acElZo5BzvdXf69Chg1JSUrRx40bbUXATzp8/r48//li+vr4aNmyY/Pz8bEe6Jf7+/ho9erRCQ0M1YcIEzZ8/33YkwCrKFVxS1hAMbdu2tR3FJXXs2FESpwbdkcPh0Lx585SUlKSuXbuqXLlytiMZUbhwYa1cuVKFCxfW0KFDdfToUduRAGsoV3A5WYNkNmzY0O0u8HWWu+++W0WLFtXKlSu5xsXN7Ny5U/v371e1atXUunVr23GMqlGjhpYsWaKMjAzNmjVL586dsx0JsIJyBZezYcMGZWRkcErwOnx9fRUeHq6ffvpJBw4csB0HuXTp0iV99tln8vPz08CBAz3yesI2bdpoypQpOn/+vGbNmqW0tDTbkQCn87zfbLg9hmDIHU4Nup/o6GidP39eHTp0UIkSJWzHyTOPP/64GjZsqLi4OC1evNh2HMDpKFdwKQ6HQ6tXr1bx4sUVFhZmO45Ly/omJeNduYdvvvlGW7duVZkyZTz+WkIvLy8NHDhQ5cuX15YtWzR79mzbkQCnolzBpXz77bf6+eefdd9998nHx8d2HJdWrFgxNWnSRNu3b9eZM2dsx8F1pKWlaeTIkXI4HOrfv798fX1tR8pz/v7+GjVqlAoWLKjRo0dr586dtiMBTkO5gkvJGoKBU4K506FDh+yjfXBd06dP1/79+9W0aVP94x//sB3HaUqUKKHhw4crLS1NPXv25AJ35BuUK7iUrJJw//33W07iHrjuyvX99NNPmjBhgkJCQtS9e3fbcZyuZs2aGj9+vBISEvTggw/y7VbkC5QruIwLFy5o69atql+/vkqVKmU7jluoWbOmbr/9dq1Zs4ZvZbmocePG6dKlS3rttdcUFBRkO44VEyZMUIsWLbRs2TK98847tuMAeY5yBZexadMmpaamckrwBnh5ealjx45KTEzUtm3bbMfBn8THx2vevHmqW7euhgwZYjuONT4+Pvr0009VokQJPf3009q1a5ftSECeolzBZXC91c3JupEz3xp0LQ6HI3sYgmnTpuX7L2iULVtWn3zyidLT09WrVy8lJibajgTkGcoVXILD4dCqVatUuHBh3X333bbjuJWWLVuqQIECXHflYnbv3q1jx46pa9euatGihe04LuG+++7Tc889p7i4uOxvTwKeyPO/Dwy3cPToUcXFxalHjx43fBPbqKioG3rcnVy5DhEREX/7mgIFCqh169ZasWKF4uLiVKlSJWfFwzWkpaVpyZIl8vHx0RtvvGF03u6+X5cvX15VqlTR4sWLVbBgQTVu3Dj7uSv38dzs+3/m7tsGnoMjV3AJjMp+a7K+NcipQdewYcMG/fbbb2rZsqWqVq1qO45L8fHx0YMPPqjAwEAtWLBAp06dsh0JMI5yBZfAEAy3pn379pIYksEVnD59WqtWrVKhQoWyr4fD1UJCQtSvXz9dvnxZs2fPVkZGhu1IgFGUK1iXnJyszZs3q2bNmqpQoYLtOG6pQoUKuvPOO7Vp0yZduHDBdpx87ZVXXlFKSoo6duyoggUL2o7jsho1aqSGDRsqPj6efxTA41CuYN3WrVuVnJzMKcFb1LFjR6WmpmrDhg22o+RbCQkJmjlzpooXL67mzZvbjuPy+vXrp+LFi2vVqlX6/vvvbccBjKFcwbqsU4Lt2rWznMS9MSSDfS+++KJSU1PVuXPnG/5iRn5UoEABDRs2TJI0Z84cjrrCY1CuYN2qVatUsGBBNWvWzHYUt9aoUSMVL15cK1eu5CvuFnz77bf6+OOPVatWLTVs2NB2HLdRpUoV3X///Tpz5oyeeeYZ23EAIyhXsCo+Pl6HDh1Sq1atFBAQYDuOW/Px8VG7du104sQJ7d2713acfGf8+PHKzMzUK6+8Im9vPlpvRMeOHVWuXDm9//77WrNmje04wC3jEwBWZX2Qcr2VGdzI2Y5vvvlGy5YtU5MmTbLfA+Sen5+fhg4dKl9fXw0bNozR2+H2KFewilvemHX//ffLx8eH666cyOFwaNy4cZKk1157TV5eXpYTuacKFSpowoQJ+vnnn/X444/bjgPckhzLVWZmpl544QWFhYWpe/fuiouLu+r5jRs3qkWLFmrSpEn2fbQkqUWLFqpWrZqqVavGH078rdTUVK1fv15Vq1ZVlSpVbMfxCLfddpuaNWumHTt2MDijk2zcuFGbNm1Su3bt+IbgLXr22Wd111136eOPP+bUNtxajuVq3bp1io6O1ty5c1W0aFFNnjw5+7m0tDQ999xz6tGjh8aMGaPIyEidPn1aZ8+e1cmTJ7Vo0SLt3LlTn3/+eZ6uBNzTtm3bdOHCBb4laFiHDh2y79WIvOVwODRhwgRJ0ssvv2w5jfvz9fXV3LlzFRAQoE8++URJSUm2IwE3JcdytXv3boWGhqpWrVpq0qSJ9uzZk/3csWPHlJiYqJYtW6p169ZKT0/XgQMHdODAAUl//Cukf//+OnjwYN6tAdwWpwTzBtddOc/69ev19ddfq3PnzgoLC7MdxyNUr15dr7zyipKSkjR//ny++Qq3lOONm5OSkhQYGChJCgwMvOpfElljkhQoUEAFChTIfn25cuXUr18/PfDAA/r000/1xBNP6KuvvpKv7/UXFxMTc9Mrkp+563aLjo6Wv7+/ChcunOM6JCQkZP/859de+Vxec+ay/iy377PD4VD58uX1xRdfaPv27fL398/jZHnD1fdrh8Ohp59+WpLUq1evq/Jea3+1tf/klOFGcl1vXre6DbJe16xZM1WoUEG7d+/WqlWr1KBBg1xlu5nt6+z9zNX3a09ic1vnWK6CgoKUkpIiSUpJSVFwcPBVz2U9npycLEkKDg5WgwYNdMcddygoKEjh4eFasmSJTp8+rTJlylx3WfzL78bFxMS45XY7ceKEjhw5orZt2+ZqfKsrf0n+vL7O+gVKSEhQxYoVnbKsv3Mj73Pv3r01depUnTt3Lvu+g+7EHfbrNWvWaP/+/eratav69+9/1XPX2l9tfdhfL8ON7tfXm9e1nsvtNrjydSNHjtRLL72kdevWaebMmSpbtmyO2W5m+zpzP3OH/dpTOGNbX29/y/G0YJ06dRQfH6/Y2Fht27ZN9erV08WLF5WcnKzKlSsrODhYmzZt0oYNG+Tr66s777xTM2bMUIsWLXTs2DFt3rxZpUqVUsmSJY2uFNwbQzDkra5du0r64+ggzLvyWqus/8KsEiVK6IEHHtClS5c0YsQITg/CreRYrsLDw9W9e3cNGDBA586d09ixYzVq1CiNGzdO/v7+mjx5spYsWaI333xTL7zwgkJCQjR06FA1atRIDzzwgHbt2qUZM2bIx8fHGesDN8Etb/JW48aNVbJkSS1fvlwZGRm243ic1atX6z//+Y+6deumunXr2o7jse655x5Vr15dX3zxhT766CPbcYBcy/G0oI+PjyIjIxUZGZn92Lx587J/bt26tVq3bn3VNIUKFdK7775rMCY8SVpamtauXavbb79dd9xxh+04HsnHx0edO3fWhx9+qO3bt3NrIYOuPGr14osv2g3j4by8vDRo0CC98soreuqpp9SuXbtcnR4EbGMQUTjdtm3blJiYqI4dOzLgYh7q1q2bJGnZsmWWk3iWL774Qjt37lSPHj1055132o7j8YoVK6Y33nhDv//+ux566CFOD8ItUK7gdFlDBHCbkLzVqlUrBQUFKTo6mj9IhjgcjuyjVVxr5TwjRoxQixYttHz5ci1atMh2HCBHlCs43cqVK1WwYEG1bNnSdhSPFhgYqPbt2+v48eOMNWfIihUrtGvXLvXs2VO1a9e2HSff8Pb21ocffqgCBQro0Ucf1ZkzZ2xHAq6LcgWnOnbsmGJjY9WmTZvs8dOQd/jWoDlZR628vLw4amVBlSpVNHHiRJ05c4Z7D8LlUa7gVFk3FOaUoHO0b99efn5+XHdlwPLly7V792716tVLNWvWtB0nX3r88cfVsGFDzZ8/nzsQwKVRruBUWR+I7jiwpTsqUqSIWrdurT179ig+Pt52HLd15VGrF154wXacfMvHx0cfffSR/Pz8NGrUKP3++++2IwF/i3IFp0lKStLmzZtVv359lStXznacfCPr1OC//vUvy0nc17Jly7R371716dNHNWrUsB0nX6tZs6bGjx+vn3/+Wc8884ztOMDfolzBadatW6e0tDROCTpZly5d5OXlpaVLl9qO4pYyMzMVGRkpb29vjlq5iGeffVa1a9fWBx98oI0bN9qOA/wF5QpOwxAMdpQuXVpNmzbV1q1bdeLECdtx3M6yZcu0b98+9e3bl0FvXYS/v79mz54tb29vjRgxQhcvXrQdCbgK5QpOkZmZqZUrV6pUqVLcuNSC3r17y+Fw6PPPP7cdxa1kZmbqxRdf5KiVC7rrrrv01FNP6fjx43r++edtxwGuQrmCU+zatUunTp1Shw4d5O3NbudsDzzwgLy9vRmA8QYtXbpUBw4cUP/+/fXPf/7Tdhz8SWRkpKpWraq33npL33zzje04QDb+ysEpOCVoV+nSpXXvvfdq27Zt+vHHH23HcQtXXms1fvx423HwNwoUKKDZs2fL4XBo+PDhSk9Ptx0JkJSLGzcDJqxYsUJ+fn5q06bNdV8XFRWV/XNERESOr8lPrrfe19pWV+rdu7c2bdqkxYsX66mnnjIZzW3kZv/K8vnnn+vgwYO6++67tXnzZm3evPm6r3fl/dVZGa61nFtd/vXet3vuuUcjR47UrFmztGbNGnXo0MHYvIGbxZEr5Ln4+Hjt2bNHrVu3VnBwsO04+VaPHj3k4+OjxYsX247i8rKOWvn4+NzwH2s43+TJk1W2bFl98cUXOnnypO04AOUKeS9rfKWs8ZZgR0hIiFq3bq0dO3YoLi7OdhyX9tlnn+m7777TwIEDVbJkSdtxkIMiRYpo5syZSk9P17x585SZmWk7EvI5yhXyXHR0tLy8vNSlSxfbUfK93r17SxJHr64jIyMj+6gV11q5jy5duqh+/fo6duyYtmzZYjsO8jnKFfLU6dOntXXrVjVu3FilS5e2HSff69atm/z8/PjW4HUsXrxYsbGxGjRokKpUqWI7Dm5Anz59VLBgQUVHR+vs2bO24yAfo1whT61YsUKZmZmcEnQRRYsW1X333ac9e/bo+++/tx3H5WRkZOill16Sr68vR63cUJEiRdSjRw+lpKRo/vz5cjgctiMhn6JcIU9FR0dL+uOICVxD1qlBjl791aJFi3To0CENHjxYlStXth0HN6Fp06aqVq2aDhw4oJiYGNtxkE9RrpBnLly4oLVr16pWrVqqWrWq7Tj4P126dFFAQAD/sv+TK49a/c///I/tOLhJXl5eGjBggPz8/LRw4UJujQMrKFfIM2vWrNHly5c5JehiChcurC5duig2Nla7du2yHcdlLFiwQIcPH9aQIUNUqVIl23FwC0qWLKlOnTopKSlJn332me04yIcoV8gznBJ0XUOGDJEkzZkzx2oOV5Gens5RKw/Tpk0bVahQQdu3b1dsbKztOMhnKFfIE2lpaVqxYoVuv/121atXz3Yc/Enbtm1VpkwZzZ8/XykpKbbjWLdgwQJ9//33evDBBxUaGmo7Dgzw8fHRoEGD5O3trU8++USpqam2IyEfoVwhT2zevFm///67unbtKi8vL9tx8Ce+vr4aNGiQEhMTtXz5cttxrEpPT9fLL78sPz8/jRs3znYcGHT77berTZs2OnPmTL7fz+FclCvkCU4Jur7BgwdL4tTgnDlzso9aVaxY0XYcGNapUyeFhIRo/fr1SkhIsB0H+QTlCsZlZGQoOjpaxYsXV7NmzWzHwTVUr15djRo10po1a3TixAnbcaxITk5WZGSkAgMD9fzzz9uOgzzg7++vAQMGyOFwaN68ecrIyLAdCfkA5QrGbd26Vb/88ot69OghX19f23FwHUOGDFFmZqbmzZtnO4oVM2fO1E8//aTHHntM5cqVsx0HeaR69epq2rSpfvzxR61bt852HOQDlCsYt3DhQkn/HawSrqt3794KCAjQnDlz8t2YV+fPn9err76qIkWKaOzYsbbjII/16NFDhQsX1ooVK/Trr7/ajgMPR7mCUenp6VqyZIlKlSqle++913Yc5KBo0aLq2rWrDh06pB07dtiO41RTp07Vb7/9pmeeeUbFihWzHQd5rFChQurTp4/S0tL0ySefKDMz03YkeDDKFYzauHGjzpw5o549e8rHx8d2HOTC0KFDJUn/+7//azmJ85w/f15Tp05VqVKl9Pjjj9uOAyepX7++6tSpoyNHjmjbtm2248CDUa5gVNb96jgl6D7atGmj8uXL69NPP9X58+dtx3GKVatW6eLFixo/fryCgoJsx4GTeHl5qW/fvgoMDNTnn3+u33//3XYkeCjKFYxJTU3V0qVLVa5cOTVp0sR2HOSSj4+PHnroIV24cCFfDMtw5swZbdmyRaGhoYqIiLAdB05WtGhRde/eXcnJydnXhwKmUa5gzNq1a5WYmKhevXrJ25tdy52MGDFCAQEBeueddzz+WpSlS5cqPT1dkyZNkr+/v+04sKB58+aqWrWqdu/erT179tiOAw/EX0AYwylB91WiRAn17dtXR48e1Zo1a2zHyTPHjh1TTEyMKlWqpL59+9qOA0u8vb01cOBA+fr6asGCBbp06ZLtSPAwlCsYkZycrGXLlik0NFQNGza0HQc34dFHH5Ukvf3225aT5I3MzEwtXrxYktSzZ09uy5TPlS5dWu3bt9fvv/+upUuX2o4DD0O5ghGrVq3ShQsX1Lt3b/5ouan69euradOmWr16tY4cOWI7jnGLFi1SfHy8wsLCVKVKFdtx4ALuv/9+lS1bVlu3bvXIfR72UK5gBKcEPcNjjz0mSZoxY4blJGYlJyfr2Wefla+vr7p37247DlxE1g3Mvby8NG/ePKWkpNiOBA9BucItS0xM1PLly1WtWjXVrVvXdhzcgm7duqlcuXKaM2eORw3L8NZbb+mHH35Qq1atFBISYjsOXEilSpXUsmVLnTp1Si+//LLtOPAQlCvcssWLFyslJUVDhgzhlKCb8/Pz06hRo5SUlKS5c+fajmPEiRMn9MorrygkJETt27e3HQcuqEuXLipevLhef/117du3z3YceADKFW7ZnDlzsr99A/cXERGhgIAATZs2TWlpabbj3LIxY8bowoULmjRpkgoUKGA7DlxQYGCg+vXrp/T0dA0fPlwZGRm2I8HNUa5wSw4dOqTt27erbdu2KleunO04MKBkyZIaPny44uLiNG/ePNtxbsnatWu1ePFi3X333Ro+fLjtOHBhtWrV0oABA7Rr1y6P/cYsnIdyhVuSdepoyJAhdoPAqGeffVb+/v6aOHGi2x69SklJ0cMPPyxvb2+99957DGyLHE2bNk0hISEaP3684uLibMeBG+PTBjctIyNDH3/8sYoUKaIuXbrYjgODypcvr4iICMXFxbnttVevvfaajh49qscee4wvWiBXQkJC9NZbb+nSpUsaNmyYx9+tAHnH13YAuK/169frxIkTGjly5N9eyxIVFZX98/Xu4Xbl63LzOJzjueee0wcffKBJkyZp0KBBbnWrmO+//16vvvqqypUrp5deeulvX8P+5Xpy857k9fvWr18/LVq0SP/+97/Vv39/tWzZUtL1P8OuJbefgfA8HLnCTcu6yS+nBD1T2bJlNXLkSMXHx7vV0SuHw6GHH35YqampeuuttxQcHGw7EtyIl5eXoqKiVKhQIS1dulSnTp2yHQluiHKFm5KYmKjo6GhVq1ZNjRo1sh0HeWTs2LEKDAzUxIkTlZqaajtOrnz44Ydat26dwsPD1aNHD9tx4IZKly6tvn37KjU1VXPmzOH0IG4Y5Qo3ZdGiRbp8+TJjW3m4rKNXP/zwQ/aRSld27NgxjRkzRkWKFNEHH3zAvomb1qBBA9WvX1/Hjh3Thg0bbMeBm6Fc4aZ89NFHjG2VT4wdO1YFChTQhAkT9Pvvv9uOc00ZGRkaPHiwLl68qHfffVfly5e3HQluzMvLS/369VNwcLCWLVum2NhY25HgRihXuGG7du3Sjh071K5dO8a2ygfKlCmjcePG6ZdfftH48eNtx7mmKVOm6Ouvv1bPnj3Vr18/23HgAYKDg9W/f3+lp6dr8ODBSk9Ptx0JboJyhRv27rvvSpIeeeQRy0ngLM8884yqVaummTNnateuXbbj/MX+/fv1/PPPq3Tp0nrvvfc4HQhj6tWrp4YNG2rnzp16/fXXbceBm6Bc4Yb89ttvWrBggapWrar77rvPdhw4SUBAgGbOnKnMzEyNGjXKpW4PcunSJQ0YMEBpaWn66KOPVLx4cduR4GH69OmjMmXK6MUXX9T+/fttx4EboFzhhsyePVuXL1/W6NGjGfE6n2nVqpUGDBigmJgYvf/++7bjSPpj2IURI0bowIEDeuihh9SuXTvbkeCBChUqpA8//FBpaWkaPHiw23xzFvbw1xG5lpGRoffee08FCxZkbKt8asqUKbrttts0btw4nTx50nYcTZ06VfPnz1fjxo01bdo023Hgwdq3b68HH3xQe/fu1aRJk2zHgYujXCHXvvjiC8XHx2vAgAEqWrSo7TiwoFSpUnr11Vd1/vx5Pfzww3I4HNayrFmzRmPHjlXZsmW1ZMkSBQQEWMuC/OHNN99UhQoVNGnSJMXExNiOAxdGuUKuZV3I/vDDD1tOApsiIiJ0zz33KDo6WlOmTLGS4ejRo+rTp498fX0VHR2tMmXKWMmB/KVIkSL66KOPlJGRof79++vixYu2I8FFUa6QK0eOHNGaNWvUvHlz3XnnnbbjwCJvb28tXrxY5cqV07PPPqt169Y5dflnzpxRly5dlJiYqFmzZqlhw4ZOXT7ytzZt2mjMmDE6fPiwnnzySdtx4KIoV8iV9957TxJHrfCHUqVKacmSJfL19VWfPn0UFxfnlOWeOXNGbdq00Xfffacnn3ySa/9gxauvvqo6deooKipK0dHRtuPABVGukKNz587pww8/VNmyZdWtWzfbceAiGjVqpJkzZ+rs2bPq1q2bLl26lKfLyypW+/bt00MPPWTtlCQQEBCg+fPnKzAwUMOHD9fPP/9sOxJcDOUKOXrnnXd04cIFPfXUU/L397cdBy5k2LBhGjVqlPbt26e+ffsqJSUlT5bz52L17rvvMlAorKpRo4befPNNnT17VoMHD+bmzrgK5QrXdeHCBU2fPl3FihVTRESE7ThwQdOnT1erVq20fPly3XfffTp79qzR+X///fdq2bJldrGaMWMGxQouYdSoUerUqZM2bNjA6O24CuUK1zVr1iydPXtWjz/+uIKCgmzHgQvy9/fXF198oV69emnr1q1q1qyZEhISjMx7/vz5ql+/vg4ePKhHH31UM2bMYPBauAwvLy/Nnj1bZcuW1fjx4/XVV1/ZjgQXwacUriklJUVTp05VUFAQ9xHEdQUEBGjBggV68sknFRsbq8aNG2vnzp03Pb/k5GQNGzZM/fv3lyR9+umnevvttylWcDklSpTQwoUL5XA41KdPH50+fdp2JLgAPqlwTXPnztXJkyc1evRoFStWzHYcuDhvb29NnTpV06ZN0y+//KJGjRqpf//+OnbsWK7nkZKSog8++ED9+vXTRx99pHr16mn37t3q169fHiYHbk3z5s01ceJE/fzzzxo0aBDXX4Fyhb+Xnp6uyZMnKyAgQGPGjLEdB27kiSee0Lp161S3bl3Nnz9fd9xxh0aPHq39+/crLS3tb6f55Zdf9PLLL6tixYqKiIjQyZMn9cQTT2j79u36xz/+4eQ1AG7c2LFjFR4ertWrV2vy5Mm248AyX9sB4JoWLlyouLg4jR49WqVLl7YdB26mdevW2rVrlz777DM9//zzeu+99/Tee+/J399fNWvWVJ06dZSWlqajR4/q+++/z74IvkiRInr22Wd17733Kjw83PJaALnn7e2tjz/+WPXq1dP48ePVpEkT25FgEeUKf5GWlqaJEyfKx8dHzzzzjO04cFPe3t7q3bu3unfvroULF2rLli3au3evDh48qD179kiS/Pz8VLlyZTVu3Fht27bVgw8+qODgYO7bBreUdf1Vy5Yt1atXL40ZM4ZLKvIpyhX+4sMPP9Thw4c1cuRIhYaG2o4DN+fn56eBAwdq4MCBkv445Xz06FEFBASoQoUK8vXlYwieo1mzZnrzzTf12GOPadasWXr66afl5+dnOxacjGuucJXz589rwoQJCgoKUmRkpO048EC+vr664447VKlSJYoVPNIjjzyiwYMHKz4+Xp9++qkcDoftSHAyyhWu8vrrr+v06dMaO3asSpUqZTsOALgdLy8vvf/++6pYsaK2b9+uzZs3244EJ6NcIdtPP/2kN998U2XLluVu7wBwCwID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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x18f356c47b8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "comp1 = np.random.normal(0, 1, size=200)\n",
    "comp2 = np.random.normal(10, 2, size=200)\n",
    "values = pd.Series(np.concatenate([comp1, comp2]))\n",
    "sns.distplot(values, bins=100, color='k')\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 91,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>cpi</th>\n",
       "      <th>m1</th>\n",
       "      <th>tbilrate</th>\n",
       "      <th>unemp</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>198</th>\n",
       "      <td>-0.007904</td>\n",
       "      <td>0.045361</td>\n",
       "      <td>-0.396881</td>\n",
       "      <td>0.105361</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>199</th>\n",
       "      <td>-0.021979</td>\n",
       "      <td>0.066753</td>\n",
       "      <td>-2.277267</td>\n",
       "      <td>0.139762</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>200</th>\n",
       "      <td>0.002340</td>\n",
       "      <td>0.010286</td>\n",
       "      <td>0.606136</td>\n",
       "      <td>0.160343</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>201</th>\n",
       "      <td>0.008419</td>\n",
       "      <td>0.037461</td>\n",
       "      <td>-0.200671</td>\n",
       "      <td>0.127339</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>202</th>\n",
       "      <td>0.008894</td>\n",
       "      <td>0.012202</td>\n",
       "      <td>-0.405465</td>\n",
       "      <td>0.042560</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "          cpi        m1  tbilrate     unemp\n",
       "198 -0.007904  0.045361 -0.396881  0.105361\n",
       "199 -0.021979  0.066753 -2.277267  0.139762\n",
       "200  0.002340  0.010286  0.606136  0.160343\n",
       "201  0.008419  0.037461 -0.200671  0.127339\n",
       "202  0.008894  0.012202 -0.405465  0.042560"
      ]
     },
     "execution_count": 91,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "##散点图或点图\n",
    "macro = pd.read_csv('D:\\pydata-book-2nd-edition\\pydata-book-2nd-edition\\examples\\macrodata.csv')\n",
    "data = macro[['cpi', 'm1', 'tbilrate', 'unemp']]\n",
    "trans_data = np.log(data).diff().dropna()\n",
    "trans_data[-5:]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 92,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0.5,1,'Changes in log m1 versus log unemp')"
      ]
     },
     "execution_count": 92,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAmoAAAJaCAYAAACfqGvSAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvNQv5yAAAIABJREFUeJzs3Xt0VNXdP/73mVsmM5NALoQQFJCoEeUiBFHjrQi11Eut1KJLwa72qdXlU1vtTatigVorVvTR+mi137aPReWnVdClbbWAl6pg0QSLQKQoIAgJIfdk7jNn//6YnJOZzCVnkrmcmXm/1mpNzsw5s89MIG/2/uy9JSGEABERERHpjiHbDSAiIiKi2BjUiIiIiHSKQY2IiIhIpxjUiIiIiHSKQY2IiIhIpxjUiIiIiHSKQY0oRwSDQfzpT3/C4sWLcfnll+Piiy/Gb37zG/h8PgDA7bffjj/84Q9ZbqU2l19+OXp7ezU/f/369bjhhhvS2KLEHn74YaxatSprrz9S//rXv3DppZdmuxlENAoMakQ5YsWKFdi+fTueeuopvPzyy3jhhRewf/9+3HnnndluWtJefvlllJaWZrsZw2ptbcUPfvAD/OlPf8p2U4ioQJmy3QAiGt4XX3yBV155Be+++y4cDgcAwGazYeXKlWhqalKft337dlx99dVob2/HSSedhDVr1sBms+GFF17Ac889B7/fj56eHlx//fW45pprsH79emzcuBEGgwGff/45rFYrVq9ejdraWnz++ee444470NPTg3HjxkEIga997WtYvHgxmpqa8MADD8DtdsNgMOD73/8+5s+fj2PHjuG2225DV1cXAOCCCy7ALbfcEnU/dXV12Lp1K9566624rx9Pa2srVqxYgcOHD0MIga9//ev47ne/CyDU8/bkk0/CarXirLPOwp///Gfs3r076r381re+hXPOOQc7d+5EMBjED37wAzz33HPYt28fpk+fjgcffBAGgwEvvPAC5s2bh9raWvT09MRsz4MPPgin04nly5cDAN5++208+uij+Mtf/hL3fVq/fj1eeOEFuN1uOBwOPPjggzHft/Xr1+P111/HE088od6f8v2HH36I++67D7IsAwBuuOEGfOUrX4n7vvX19WHlypX45JNPIEkSzjvvPPzoRz+CyWTC22+/jQceeAAGgwHTpk3Dli1b8Oyzz+K4446L+bmVl5dHfL9371489NBDOP7447F3714EAgGsXLkS9fX18Pl8eOCBB/DBBx8gGAzi1FNPxV133QWHw4ELL7wQl156Kd5//3309PTgu9/9LpqamrBr1y6YTCY8/vjjGD9+PC688EJccskleO+999DX14dvf/vbuOaaa+LeK1FeEUSke6+99pr4xje+kfA5t912m7jyyiuFy+USgUBAXHHFFWLDhg2iv79fLFmyRHR2dgohhNi+fbs4/fTThRBCvPjii6K+vl60tLQIIYRYtWqV+NnPfiaEEGLJkiXimWeeEUII8emnn4pZs2aJF198UXR3d4uLLrpIHDp0SAghRGtrqzj//PPF4cOHxaOPPiqWL18uhBDC6XSKW265RfT29ka19eSTTxYdHR0JXz/ciy++KL73ve8JIYS49tprxR//+EchhBC9vb3isssuE6+++qrYu3evOPvss9Vr/fa3vxUnn3xy1LUOHTokTj75ZLFp0yYhhBB33323mD9/vujr6xMej0ecc845orGxMeKcRx55RKxcuTLm+37w4EFx5plnCq/XK4QQ4oc//KF4/vnnE75PL774ojjjjDNEX1+fEELEfd/C73vo+3DdddeJV199VQghRHNzs1ixYkVU295//31xySWXCCGE+NnPfiZ++ctfClmWhdfrFd/5znfEE088ITo7O8W8efNEc3OzEEKI9evXi5NPPlltdzjlcxv6/fvvvy+mTZsmdu/eLYQQ4g9/+IO49tpr1c/hvvvuE7IsCyGEWLNmjfjFL34hhBBi/vz54t577xVCCPHXv/5VnHLKKWo7brrpJvH444+rz1u+fLmQZVm0tLSIM888U3zyyScxPw+ifMMeNaIcYDAY1J6TRBYuXIji4mIAwEknnYTOzk7Y7Xb87ne/w9tvv40DBw7gk08+gcvlUs857bTTUF1dDQA49dRTsXHjRvT09GDHjh14+umnAQC1tbU466yzAAAfffQRjh07hv/+7/9WryFJEvbs2YPzzjsP3/ve99DS0oKGhgb8+Mc/RklJScI2x3r9eFwuF5qamvDHP/4RAFBSUoLFixfjn//8J44dO4ZzzjlHvdbSpUvx29/+NuZ1zGYzLrzwQgDApEmTMHv2bLWnsqqqKm7vWSzHH3886urq8MYbb+Dss8/G+++/j1/96lf48MMP475PQKg3SnnNkbxvX/3qV7Fq1Sq88cYbaGhowI9+9KOEz//nP/+JdevWQZIkWCwWXH311XjqqadwwgknoLa2FqeccgoA4IorrsA999yj+f4VNTU1mDZtGoDQ57hhwwYAwFtvvYW+vj5s2bIFAOD3+1FRUaGed9FFFwEIvY+VlZVqOyZNmhTxOVxzzTWQJAnV1dU477zz8N5776Guri7pdhLlGgY1ohwwc+ZM7Nu3D/39/eovdwA4evQoli9fjkceeQQAYDIN/pGWJAlCCLS2tuKqq67CkiVLUF9fj0WLFuHNN99Un2e1WqPOMRqNAAARthWwciwYDKK2thZ/+ctfItpRXl4Os9mMzZs3Y+vWrXj//ffxzW9+E7///e8xffr0uPcW6/XjkWU56nFZlhEIBGA0GmO2Nxaz2QxJkiK+H40lS5bgpZdeQkdHBxYuXAi73Z7wfXrllVdgs9nU4zNnzoz5vg19P/x+v/r11Vdfjfnz5+O9997DO++8g0cffRSvvfYaioqKYrZRluWIe473vgGhfxgMR5nEooj3OcqyjDvuuAMXXHABAMDpdMLr9arPtVgs6teJPofwn21ZljW1kSgf8CedKAeMHz8el112Ge644w709/cDAPr7+7FixQqMHTs24pfkUDt37kR5eTluuukmnHvuuWpICwaDcc9xOByYM2cO1q9fDwA4dOgQtm7dCkmScPrpp+Pzzz/HBx98AABobm7GV77yFRw9ehQPPPAAHnvsMSxcuBB33nknTjzxROzduzdVbwMcDgdmzZqFZ555BkCo7uqll15CQ0MDzj33XGzduhVHjx4FgIiAlG5f/vKXsWvXLjz//PNYsmQJACR8n4aK976Vl5dj79698Hq98Pv9eP3119Vzrr76ajQ3N2Px4sX45S9/id7eXhw7dixuG88991w8/fTTEELA5/Ph+eefR0NDA+bMmaP2tALA66+/jt7e3ohQpygvL8fHH38MAHj11Vc1vTfnnnsunnnmGfh8PsiyjOXLl+PBBx/UdG64l156CQBw5MgRvPfeezj//POTvgZRLmKPGlGO+MUvfoHHHnsMV199NYxGI3w+HxYuXIibb7454XnnnHMOXnjhBSxatAiSJGHevHkoLy/H559/nvC81atX484778Szzz6L8ePH47jjjoPVakV5eTkeeeQR3H///fB6vRBC4P7778dxxx2Hb33rW7j99ttx6aWXwmKxoK6uDpdcckkq3wY88MADWLVqFdavXw+fz4fLLrsMixcvhiRJ+PnPf47/+q//gsViwbRp09Rh4HSzWCy4+OKLsWXLFsycORMAEr5P27Ztizg/3vtmMBhwxhln4Ktf/SrGjRuHM888Ux06/clPfoJ7770X//M//wNJkvD9738/qvg/3F133YV77rkHl112Gfx+P8477zzceOONsFgs6mQGg8GA6dOnw2QyxXzv7rrrLqxatQqlpaVoaGjAuHHjhn1vbrrpJqxevRpXXHEFgsEgpk2bhttvvz2ZtxdAaBLI4sWL4fF4cNddd2Hq1KlJX4MoF0ki0TgDERWsxx9/HBdddBFqa2vR19eHr33ta/j973+PE088MdtNi+nQoUN4+eWXcdNNN8FgMOAf//gHfv/732e0Zy0X9ff347HHHsPNN9+M4uJi7Nq1CzfccAPeeeedmL1q2XDhhRfi4YcfxowZM7LdFKKMY48aEcU0ZcoU3HrrrTAYDAgGg7j++ut1G9IAoLq6Gm1tbbjssstgNBpRUlKCe++9N9vN0j2HwwGz2Ywrr7wSJpMJJpNJ7aUjouxjjxoRERGRTnEyAREREZFOMagRERER6RSDGhEREZFO5e1kgsbGxmw3gYiIiEiz+vr6qGN5G9SA2DecCxobG3O27cTPL9fx88tt/PxyV6F/dvE6mDj0SURERKRTDGpEREREOsWgRkRERKRTDGpEREREOsWgRkRERKRTDGpEREREOsWgRkRERKRTDGpEREREOsWgRkRERKRTDGpEREREOsWgRkRERKRTDGpEREREOsWgRkRERKRTDGpEREREOsWgRkRERKRTDGpEREREOsWgRkRERKRTDGpEREREOsWgRkRERKRTDGpEREREOmXKdgOIKPua9rRh07aDaO1worrCjoXzJmFOXVW2m0VEVPAY1IgKXNOeNqz92271+5b2fvV7hjUiouzi0CdRgdu07WDM45vjHCciosxhUCMqcK0dztjHO2MfJyKizGFQIypw1RX22MfLYx8nIqLMYVAjKnAL502KeXxBnONERJQ5nExAVOCUCQObtx1Ea6cT1eV2LOCsTyIiXWBQIyLMqatiMCMi0iEOfRIRERHpFIMaERERkU4xqBERERHpFIMaERERkU4xqBERERHpFIMaERERkU4xqBERERHpFIMaERERkU4xqBERERHpFIMaERERkU4xqBERERHpFIMaERERkU4xqBERERHpFIMaERERkU4xqBERERHpFIMaERERkU5lPKjJsoy7774b9fX1WLx4Mfbv3x/x+Nq1a3Huuedi7ty5WLlyJYQQcLvduPnmmzF79mx861vfQkdHR6abTURERJRxGQ9qGzduxIYNG/DUU0+hrKwMq1evVh9raWnBr371K9x6661Ys2YNnn32Wbz11ltYt24dmpqa8MILL6CzsxOPPfZYpptNRERElHEZD2pNTU2YMmUKpk+fjoaGBmzfvl19rLKyEq+99hq+9rWv4bjjjgMABINBNDU1YcaMGaitrcUZZ5wRcQ4RERFRvjJl+gX7+vpgtVoBAFarFX19fepjZrMZU6ZMQVtbG26++WZMmTIF559/PtauXYuysrKY5yTS2NiY+hvIkFxuO/Hzy3X8/HIbP7/cxc8uWsaDmsPhgMfjAQB4PB6UlJREPH706FFcd9118Hg8eOqpp2CxWIY9J576+vrUNj5DGhsbc7btxM8v1/Hzy238/HJXoX928UJqxoc+Z82ahQMHDqC5uRlbtmzB7Nmz4XQ64Xa7EQgEcMMNN6C7uxtPPPEEysvL4fP5MGvWLOzcuRP79u3DBx98gNmzZ2e62UREREQZl/EetUWLFmHbtm1YunQpJk+ejDVr1uDGG29EZWUlLrnkEjQ3NwMALr/8cgDAihUrcO2112Lnzp34xje+gRkzZuCmm27KdLOJiIiIMi7jQc1oNGLlypVYuXKlemzt2rXq13v27Il53iOPPJL2thERERHpCRe8JSIiItIpBjUiIiIinWJQIyIiItIpBjUiIiIinWJQIyIiItIpBjUiIiIinWJQIyIiItIpBjUiIiIinWJQIyIiItIpBjUiIiIinWJQIyIiItIpBjUiIiIinWJQIyIiItIpBjUiIiIinWJQIyIiItIpBjUiIiIinWJQIyIiItIpBjUiIiIinWJQIyIiItIpBjUiIiIinWJQIyIiItIpBjUiIiIinWJQIyIiItIpBjUiIiIinWJQIyIiItIpBjUiIiIinWJQIyIiItIpBjUiIiIinWJQIyIiItIpBjUiIiIinWJQIyIiItIpBjUiIiIinWJQIyIiItIpBjUiIiIinWJQIyIiItIpBjUiIiIinWJQIyIiItIpBjUiIiIinWJQIyIi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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x18f35c5dc88>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#使用seaborn的regplot方法，该方法可以绘制散点图，并拟合出一条线性回归线\n",
    "sns.regplot('m1', 'unemp', data=trans_data)\n",
    "plt.title('Changes in log %s versus log %s' % ('m1', 'unemp'))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 93,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<seaborn.axisgrid.PairGrid at 0x18f356bcf60>"
      ]
     },
     "execution_count": 93,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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wz95hRcO9vPprz/LfXe9nVBQuqMQQgghGovkLC9grx0fAeCyVe11bknR2zeu4H/cuhHX83nlaIJVXQaf/+t38Bfv21AOlAEURWHNshY+/X++ha3XreT1vhT/9Phv69hyIYQQQojJyVDeAnboeBKA9Q0SLANsu2ENv/uW1eRNm0MH908byKuqwv+4dSPHzqR56oUTXH/lUt62cXkNWyuEEEIIMb26jyzn83k++tGPsmnTJj74wQ8yPDx83t9873vf44YbbmDLli089dRTEx775je/yfr16+nr66tVkxvG4eMjBHSV1XWshDEZTVVmnYMc0DU+cftmDF3lqz/YRzJdqHLrhBBCCCFmr+7B8qOPPsrevXv5/ve/TyKR4Ktf/eqEx4eGhrj33nv5+Mc/zvbt27n77ruxbRuAffv2cf/999ej2XVnWg5vnB7l4hWtBPS6f4zzsqIrxgf+4EpGsxb/9Pg+WQlQCCGEEA1D8WsYmaRSKfL5/IRtn/vc53Ach6997Wvce++9vPTSSzz++OPlx5988knuuusufv3rX9PX18ett97Kj370I5YuXcr73/9+br75Zr7xjW/w5JNPctFFF027/z179lTluOrhtVMm33l6iBuviPF7m9rq3Zx58zyfbz45yPFBi1vf1sFVqyN1a8vmzZvrtu+SZuqronrq3Veln4rZkH4qFoLp+mlNc5bvu+8+nnjiiQnbVFXl5ptvBiAUCpFOpyc8Xvp3OBwmHA6Xtz3wwAP83u/9Hlu2bOEb3/jGrNtQyZN2z549dbsIvNh3ABji99+xgTdf1l339kxmru1ZsTbDR7/wND/bm+Zdb3szK3squypho70/M1lIbYWF9/7ORTMf23xV431p9Pe70dsHC6ONtdTs78Vi+bzrdZw1vX9/7733snfv3gn/vetd78I0TQBM0yQenxggxWKx8mOlUWnP89i1axePPfYYd955JwDvfe97a3gk9bf30ABGQOPKtUvq3ZSKWd4Z46+2X00mb/Pprz9Lb1+y3k0SQgghxCJX05FlwzAwjIkTvzZu3Mi3vvUtjhw5wu7du7n++usByGQyBAIBNmzYgKZpPPXUU/T19dHW1samTZt48skngWLe8sc//nEeeuihWh5KXZ0eynKiP83my7sxAlq9m1NR775+FZm8xf/60ct84sFneO/vXMxtv3sZkVCg3k0TQgghxCJU99Jxt99+OwcOHOCWW25hw4YN3HXXXUBxpPgP/uAP+MQnPsFnPvMZ7r//fgKBAPfddx+BQKCcn3zy5EkAli5dWrdjqLUndxfXtX7nNdPnaC9U73vnJVzUHeeffrCPx59+nadeOMEfv/sytt2wmoDeXD8OhBBCCNHY6h4sR6NRHnzwwfO2jy8Rd9ttt3HbbbdN+vy3vOUtHDp0qGrtazSu6/HkCycIB3Vu2LCs3s2pmmuv6OGrn9zKE0+/zuO7XuOhH+7nh8/0cvvN63nnNSvrvry3EEIIIRaHugfLYm527TnBUDLP79+4hpDR3B9fMKDxJ7+7nt+/YQ2PPXmYf//VGzzw6It85+eHuOGqZWy8tJOVPXG62yOoEjwLIYQQogqaO9pqMjnT5js/P4Shq/zx1svq3ZyaaY0F+fM/3MAf/s7F/H+/OMQv953kX5/p5V+f6QXACGhc1B1j/ep23rV5JZev6ahzi4UQQgjRLCRYXiA8z+fBx15iKJnntndfRmdbuN5Nqrnujgh/fdsm/uqWq9nfO8xrJ0Y4cSbDif40ff1pjpxM8dNn3+DaK3r46z9+M+0toXo3WQghhBALnATLC0DOtPnKv+zjV/tOccWaDv7k99bXu0l1FdA1rlnfzTXru8vbXNdjf+8Q//Lka7xwsJ+/vv9pPva/X8M1l3dP80pCCCGEENOTYLkOfN+n92SKQ8dG6BtIk87auJ6HrquEgzqRoE44pBMO6vQP5/ivF/tIZSwuX93OPf/XW9C1hb28dTVomsqbL+vm6ku6+LdfHuGbP36Fz/4/z/F//MGV3HLTJSiK5DQLIYQQYu4kWJ5GzrT5zctn2HNwgGNnRilYLp1tYa6+tJNr1ncz15XCzwxn+a8X+3h6Tx99A5lZPy8WDnD7tsu55aZLCegSKE9HVRX+8B0Xc+XaDv7h/32eh3/yCoePj3DXLRvr3TQhhBBCLEASLAO241GwXbJ5mzPDWY6eSrH31QH29w7juB4A4aBOOKhx4MgQ+3uH+M7PXqU1ovH247/l8tXtrF7WQmssSMjQ8Dwf1/NJ5yz6EzlefWOEPa/289qJ4op0hq7y9o3Lue7KHlb2xGmPh9BUBcf1yRVs8qZDruCQNx1aYwaXrWpvusVHqu3Sle188W/eyc5HXuC5/ad58dAAG1aHsIzTrOyJ0dESkoVOhBBCCDGjRR8s/3LfST7/7T143vmjxGuXt/C2q5fz1g3LWNUTR1EU0jmLfa8N8vzLZ3j2tyf5ya+O8pNfHZ1xP5qqsPHSTrZccxE3bFhONDxVoLb4Ju5VS3tLiP/7r97Gz557g8f+8xC7X8uy+7Xny4/f9ruXcce2K+rXQCGEEEI0PMWfay7BArZnz556N0EsEJs3b67r/qWvitmqZ1+VfipmS/qpWAim6qeLKlgWQgghhBBiLmS2mBBCCCGEEFOQYFkIIYQQQogpSLAshBBCCCHEFCRYFkIIIYQQYgoSLAshhBBCCDEFCZaFEEIIIYSYggTLQgghhBBCTEGCZSGEEEIIIaYgwbIQQgghhBBTkGBZCCGEEEKIKUiwLIQQQgghxBQkWBZCCCGEEGIKEiwLIYQQQggxBQmWhRBCCCGEmIIEy0IIIYQQQkxBgmUhhBBCCCGmIMGyEEIIIYQQU5BgWQghhBBCiClIsCyEEEIIIcQUJFgWQgghhBBiCosqWN6zZ09FX+/ll1+u6OvNl7Rneo3WnulUuq/WwkJ6f+eqmY9tPqrVTxv9/W709sHCaGOtLMTr6Vwtls+7Xse5qILlSjNNs95NmEDaM71Ga0+zaeb3t5mPrRE1+vvd6O2DhdFGUTmL5fOu13FKsCyEEEIIIcQUJFgWQgghhBBiChIsCyGEEEIIMQUJloUQQgghhJiCXu8GCCGa349/eYTH/vMwPR0RPvXht9AWD9a7SUIIIcSsyMiyEKKqevuS/PO/HiCbt3n12Ag7H9mN5/n1bpYQQggxKxIsCyGq6rs/P4Tn+Xzqw2/h+iuXcqB3mL2HBurdLCGEEGJWJFgWQlRNzrTZe2iANctauObybm7fdjkAP/yv1+vcMiGEEGJ2JFgWQlTNCwf7cVyPGzYsA2DdilauvqSTfa8NcWY4W+fWCSGEEDOTYFkIUTW7X+kHKAfLAO+85iIAnv3t6bq0SQghhJgLCZaFEFXz6rEE8UiANctaytve8qalqKrCs789VceWCSGEELMjwbIQoiqS6QJnhnOsX92Boijl7a2xIBsuXsKh4yMMjuTr2EIhhBBiZhIsCyGq4vDxEQAuW9V+3mNvu3o5AM/tl9FlIYQQjU2CZSFEVbx6LAHA+tXnB8tvvWoZigK/klQMIYQQDU6CZSFEVRw5mQLg0pVt5z3W3hLiyrVLOPhGgpFRs9ZNE0IIIWZNgmUhRFUc70/T0RIkHjEmffyGDcvwffj1y2dq3DIhhBBi9iRYFkJUXM60GRzJs2ppy5R/c8NVxXJyv94vJeSEEEI0rpoGy57ncc8997B582a2b9/O0aNHJzz+1FNPsWXLFm688UYee+wxAD7wgQ+wfv368n9XXnklAM8999yE7Q899FAtD0UIMY3j/WkAVi2NT/k33R0RLr6old++Pkg2b9eqaUIIIcSc1DRY/sUvfsETTzzBww8/THt7Ozt37iw/Zts2d999N7fccgsf+9jH2LFjB4ODg3zta19j9+7dPPPMM/T09PCJT3wCgJdffpkrr7yS3bt3s3v3bj70oQ/V8lCEENM4droYLK+eZmQZiqPLjuuz+2B/LZolhBBCzFlNg+W9e/eyZs0arrrqKm688UZefPHF8mO9vb0kk0luuukmtm7diuM47N+/n2g0SktLC9/+9rfp7u4uB8UHDhzg1KlTvO997+NTn/oUpimThIRoFMf7R4HpR5YB3rpBUjGEEEI0Nr2WO0un04RCIQBCoRDpdLr8WCaTASAcDhMOh8t/X3rsu9/9Ll/4whdQ1WJ8/6Y3vYkNGzZw/fXX89GPfpQvfelLfOpTn5qxDXv27KnoMVX69eZL2jO92bRn8+bNNWjJzBrtvZuNUptfeW0IgKFTvewZOjrl3/u+T0dc5/mXT/Pcb3Zj6I07jaIRP49G6KvVel8a8f0er9HbB43Txmbup41kMRwjVO84p+unNQ2WY7FYeQTYNE3i8fiEx0rb8/niql6lx5955hkCgQDveMc7yn//oQ99CM/zCAaDbNq0icOHD8+qDZU8affs2dMQF4ESac/0Gq09M1lIbYWJ7+/X/+M/aY0ZvP2G62Z83u8OHuR7/3mYQmAZN1xzUbWbeUEWWt+ppWq8L43+fjd6+2BhtLGWmv29WCyfd72Os6bDOBs3buSNN97g4MGDPPvss2zatIlsNks+n2fdunXE43F27drFk08+ia7rXH311QD85je/4dprr0XTtPJr3XzzzXzyk5/k+PHj7Nu3jw0bNtTyUIQQU3Bcj/5EjmVLorP6+5uuXQnArj0nqtksIYQQ4oLUNFjetm0b27dv54477mBkZIRPfvKT3HnnnfzP//k/MQyDnTt38oMf/IAvfvGL3HPPPXR2dgJw5swZVq1aNeG1du7cyaFDh3j/+9/Ppk2buOuuu2p5KEKIKQwkcniez/Ku2Kz+fkVXjMtWtfHSoQFZoEQIIUTDqWkahqZp7Nixgx07dpS3PfLII+X/37p1K1u3bj3veV//+tfP23bdddfx05/+tDoNFUJcsFNDWQCWd85uZBngps0rOXw8yTMvneQP33FxtZomhBBCzFnjzqZpIOmcxYn+UXr7kpzoHyWds+rdJCEa1qnB4mTd5Z2zG1kG+J03r0BTFUnFaEJy/RRi8WqW81+C5Rmkcxb9wzkKlofvQ8Hy6B/OLdgPXIhqOz02srysa/Yjy62xIJsv76G3L8WxM6PVapqoMbl+CrF4NdP5L8HyDJLpyXMop9ouxGJ3JpEDYOksJ/iVvKs00e8FGV1uFnL9FGLxaqbzX4LlGVi2N+V2RVFq3BohGl9/Ikc0HCAWDszpeddd2UM0HODpvX24nl+l1olamu76KYRobs10/kuwPAMjMPlbZARUfF++0IUYz/d9BkZy9HRE5vxcI6Dx9o3LGU6Z7H99sAqtE7U23fVTCNHcmun8X3gtrrG2eGhO24VYzJKZAgXLvaBgGc6mYjwlqRhNQa6fQixezXT+17R03EIUjxhAMcfGsj2MgEpbPFTeLoQ4a2AsX/lCg+Ur1nSwdEmE5/afpmC7BAPazE8SDUuun0IsXs10/kuwPAvxiLEgP1whaq1/nsGyoii87erl/GDX6+w7PMj1b1payeaJOpDrpxCLV7Oc/5KGIYSomFKw3H2BwTLAWzcsA+DXB05XpE1CCCHEfEiwLISomPmOLANctrKdjpYgv3n5DJ5UxRBCCFFnEiwLISqmHCy3X3iwrKoKm9Z3M5q1OHoqVammCSGEEBdEgmUhRMUMJHK0xgxCwflNh3jzZd0AvHRYSsgJIYSoLwmWhRAV4fk+AyP5eaVglGy8tBOQYFkIIUT9SbAshKiITN7DcT16Oua2zPVk2uMh1ixr4ZWjw9jOwlvtSQghRPOQYFkIUREjGQeA7vZwRV7virUdWI4nectCCCHqSoJlIURFJLPFYLlnyfxHlqG4QAnAK0cTFXk9IYQQ4kJIsCyEqIhkxgXmVwljvFKw/OobEiwLIYSon5oGy57ncc8997B582a2b9/O0aNHJzz+1FNPsWXLFm688UYee+yx8vYtW7awfv161q9fz7Zt2wB46aWX2LZtG9dffz1f+tKXankYTS2dszjRP0pvX5IT/aOkc1a9myQWiNLIcndHZdIwejoidLQEOSjBshBzks5ZJDKeXMcXOPk+bhw1DZZ/8Ytf8MQTT/Dwww/T3t7Ozp07y4/Zts3dd9/NLbfcwsc+9jF27NjB4OAgiUSC06dP873vfY/du3fz/e9/H4BPf/rTXHPNNXzxi1/ky1/+Mvv376/loTSldM6ifzhHwfLwfShYHv3DOTlBxawks8WR5e4KjSwrisKlK9tJjJqMjJoVeU0hml3pOm5ajlzHFzD5Pm4s8yuGOkd79+5lzZo1XHXVVdx444089NBD5cd6e3tJJpPcdNNNLF++nL//+79n//79aJoGwN/93d8RCAT41Kc+xVVXXcXhw4f5yEc+wtvf/nYikQgvvfQSGzZsmLENe/bsqegxVfr15ms+7UlkPEzLOW/7UUOnI3Zhv6sW4vuzefPmGrRkZo323s0kmXWIhVX2//alir1mWC0ucvKzp1/gshWVGbG+UI34eTRCX63W+9KI7/d4jdq+8dfxg68eLG+fz3V8vpq5n1bLhXwfL7RjvFDVOs7p+mlNg+V0Ok0oFAIgFAqRTqfLj2UyGQDC4TDhcLj89ytWrOBP//RPaFBbnwAAIABJREFUufXWW/nOd77D3/zN3/DEE0+UX2Oy15pOJU/aPXv2NMRFoGS+7entS+JPsrqwosDFF7XVvD2V1mjtmclCaqvr+aQe/RGXrWqvaLvd8Bme3v8blHAXmzevr9jrztVC6zu1VI33pdHf70ZuX+k6fvDVg1xx+RXl7Rd6HW8Wjfp5TWWu38eN3CcrqV7HWdNgORaLYZrF26mmaRKPxyc8Vtqez+cBiMfjXHvttVx++eXEYjG2bdvGD37wAzyvWHe1UChM+loLVTpnkUybWLaHEVBpi4eIR4ya7csIqBSs82vaGgGZByqml0iZeD50V2BBkvEuXtEKFL84hFgMLuR7YPxzkmkTXdfO+xu5ji8slfo+rlZcUct4pRHU9OzZuHEjb7zxBgcPHuTZZ59l06ZNZLNZ8vk869atIx6Ps2vXLp588kl0Xefqq6/my1/+Mlu2bKG3t5enn36anp4eli5dytq1a3nmmWf47//+b3K5HJs2barloVRcLfOTptpXQJ+8O7TFQxVvg2guAyPFdIlKrN43XkdLiLZ4kN6TUmtZNL8L+R449zlBQyeRMrEdZcLfyXV8YZnq85rL51ituGIx5lPXdGR527ZtPP/889xxxx2sXr2a+++/nzvvvJPOzk4eeOABdu7cyec+9zlM0+See+6hs7OTD3/4wxw8eJBbb72VlStX8uUvfxlN0/jHf/xH7r77bn7+85/zkY98hKuuuqqWh1JxyfTkE5iSabPiv9am2pftePQsiSyqX4uiMvoTxWC5UpP7ShRFYc3SFl56bZCcaRMJBSr6+kI0kgv5Hjj3OSFDp6s9TGJIQVGQ6/gCVfq85vN9XK24opbxSqOoabCsaRo7duxgx44d5W2PPPJI+f+3bt3K1q1bJzwnGo3yla985bzXevOb38xPf/rT6jW2xix78iV9p9perX3FI0bTdnZRPaWR5UqnYQCsWhrnpdcGOdGfZv3qjoq/vhCN4kK+ByZ7LGTohAKLO0e5Gczl+1hRlPO2VSuuqGW80igkialBTJWHVI08s/GvaVoOgyM5Tg5mSKbNpr6NIqpnIFGdNAwoBssAx8/MbhKvEAvVbL8HxtffTabNSasmGFOk1YnmUuoLp0fs82oxVyuuqGW80iia98gWmErkJ811X8VAOY9puXiej65rTZ93JKqjlIbR1Vb58m4re8aC5X4JlkVzm833wLn5orqujV3HJwbMsdD5k/xEcxnfFzzPOy93uFpxRS3jlUZR0zQMMbVK5CfNdV+HjyVQFAjoKvGoQSQYKLdBUjHEXAyM5IiFVYxA5b+gV0mwLBaJ2XwPnJsvGh3L4y9YDuGgXn5OamCSumOiqYzvCwrKhO3jUzgqHVfUMl5pFBIsN5Ba5gvHIwZt8RBBQyedtRgZLZDVbeJRA0WpXLdYbOVlFiPX8xkcybOsozqT72IRg46WICckWBaLwEzfA6NZi9GMheV4GGMDHdFQgLxVvA1eKh9nOefnsIrmYtkeWdMmk7MYSjv0J7LEIgaKcvZaXK24YqrXbdbvfAmWFzHX8xgcyZf/bVouppVnRXe0Iq9vOQr9w7nyv0u3iEqa8YRajBIpE9fzaYtW77bvqh6piCFEMRAplCdSla7Z0bCO6/qEjdIos8fQaIF0zpr2utqsgc1i4bgeiVRxdNnzPCy7+O+QMbtrcaU//1JaSMn47/yF3q8kWF5kzgxnODmQIZt3GE7lOTWURlU0gkGNjniQ1lho0lWDLkTGdOmaZPupwQyaejZdvplOqMWoVAmjLVq9y8nKsYoYfQMZLlvVXrX9CFFv0wUwpwYzmJbDUNLEHVucS1NVrAGHpZ0xrMFMebQZpk+pa+bAplnMFMxOUgDjvO3nvkZAV7Edj2SmwHDKRAV8FAxdJZWxWL2s5YI//2YuKSfB8iKRzln09o3w2vEUAV3FCCi81pfEdX2iYVAsGEqatLeE0LXKzPu0nMnLyCRSebrazx+9boYTajEqTe5ri1VzZLlUEWNUgmXRtKYLYAHODOdQFZWQoTE4YuG4HvGITi7vMJIq0Boz8DyNdC5LKgdHT44CTDpi2MyBTTOYqi9k8xa2c3YUuSUawLI9dLXYL+JRozwYde5rpDIWgyN5OlpDDCVzDI4U+0BHSwjP8zGtPEZAJb7qwkp0NnNJOQmWF4HSCXOiP4Pr+biWy/H+LAFdw3EcbNenp6M4ojyatSpW/mWq0kWT1YOE5jihFqNajCyXyscdk/JxoolNF8BC8ZpqWi6O643lpoJZcAiHdDzfJ2vaKIpCYtQklbXQNGXKEeNmDmyawWR9wbSKeck9HcXBJtfzyWdtutrDLGnR6RpbFKr0HX7ua6SzxSoZmVwx770kZ9q0xoIA5bSOC1GpJbobkQTLi0DphMmbxdJCigIFyy1XLjALDsmMietCMg1rl8UrksM0VemijtbJy8s0wwm1GJVqLFc3Z7kYLMskP9HMpgtgcwWbgu0yMJIjlTEJGjohQ8e0XVZ0R8lkHWzHI2fa2I5LxvTIjJUQi0WM80aMmzmwaQbjJ+/ZjkdAV7Fsd8JgUyxikEiZ5SC4pFTC7dz+VLrbazsecDbf0nY8FAV8H/xZ5GFOlR7SFg9NGMk+tz0LmZwVi0DphAmH9LF/u/j4JEYLBA0VXVHAV9A0iEZ0BpMF8gVn3uu9G7pPz5IIQUNFUSBoqPQsibCsMzbp3zfDCbUYldIwWqs4siwVMcRiMFWg6rgemayN70N7PEQ4GCCTs8jlLaJhjULBJWSoxMI6uYJNrmATNnSMgF6+XZ/MFCa85mKslbuQlCbvWXaxnrbteBNy1aFYNjAS0kikTUZNSGVMYhG9/KPo3P5Uutsb0FVaxkaSVUUhoKvluUodrdPXyj+3zvf4OCEeMSb9zm+GtB4ZWa6DWsxAHr+PZLo4CtHdHuZwOslo1iZoaGSzNv2JLG2xEMGgRsFy6Gwt3sZJZy1CRrF7zCeHbbqyNTILuzkMjORojwcJaNUtVbWiK86BI0MUbJdgFeo5C1FvU43MKQrEowamlR+rix9gZLTASMZk2ZIoiZSJ7fqsXR4noCsoKPiex0jaJBoKYAQ0LMud8JqLsVbuQnJutqLvMzY5z6U/kcV2PFzPI2c6aKqKbblYdjGgjoaNSUd6S30oFjEI6CpDKZN01qQtHkZRoL0lxPKuyQezSmbKda9lCdxakmC5xmoxA/ncfZRWeOpqD9PZFsKyXYZSHhevbCOVLWDbHpblcFFXjJChoygTJ+dVI4etWU+oxaZUY/mSlW1V39fyrij7e4c4PZRlzbKWqu9PiFqbKoAdSOQIGSpd7WESqTzDSZNgUMPwVFIZG1Utrp6ZzlpkTYegoZH2isGTZRdojwcJBc8fMZTrcOPS1OLnnc6erakd6ghzvD9DMFAsETiUNBlKmqxdHsfx3HIpwdIkvXP7U2vMoLMtxGjWYmTUpLM1RGdrCE0tVsno6QjP2B8Wa667BMs1VosZyNOt8BQNGSzrVFi1tAVdU4mO5vE9Bdf3cDyfVKaA7XhEwwFMyyFk6JLDJqZUqrHcMzaxpJpWjI14nBzMSLAsmtZkAWwybVKwPEKGTkAvVjzwvLOT+0qjjgoqmqaiAGkjQNa0UBWFaFgnMMWEa9GYjIBKfixzpjTKXHA8ejoiBAMaluPhuC4dLUHMc+4ajJ+kN1l/sp1RLuqOn7dPe4oKVue2azHmujf30TWgWvwqm+y1oqEAbfEQa1e0EA0HyuXhwqEAzlgOVDprYdkeruejqQqDI3lMy5EcNjGlUiWM7o4aBMvdxWD51GCm6vsSopGMvwZbjoeuFXNCNV0p55rajoePTzgUwLRcXMclHg4SDgYwC8VRxwudfyJqL6CrY9/BLq7rU7BdBhN5wkGNrvYIK7piREIBFEXBdjzUcXkbM03Sm08cslhz3WVkucYq8atsppzn6fbRFg9h6JnyL9GwoaO1QDZvEzIMYpHiKHTptkxAV2c94j2+Xa7n0Z/y6e1LSi5cEytN7isGy/np/3iexo8sC7GQzXXeyvjb6cGASmvMoGB7mAWnHOAEdJVAQCGZNhnJmKRNn0AqT0dLkM62MJFgQGooLyC249HRGipXwzACKp1tIRz3bCDcFgvSnyjmsefGxcczTdKbTRySzlmcGsyQSOVRFIWO1hDLOmMXnOu+0FeLlGC5xuZbWmWmovUz7SMeMVi7ooXevhTprEUyU8DzfSzbZWlHtBwk65qC4/r0D+eIhPQZO/b4dpmWw+BInjOJHCvyNlE/cEF52Qv95FoMSiPLPe0R/OxwVffV0xFBVRVODWaruh8hqulC562UbqeXru9Z02YomWMoaaJrCp1tQYZTBVJpC9fxKdgwMponZ1p4vkfWtHBdn1ODGdpbJgY+on7OHWTyfdA1lcGRHLGIQWssSDprMZqzMAsO5lgJ2FjEoKs9QmrsO3w075HJW3S3h2ecpDdTHJLOWRw5mZqQznFyIItle+UV/ub6Xb7QV4usaRqG53ncc889bN68me3bt3P06NEJjz/11FNs2bKFG2+8kcceewyA/v5+PvCBD7Bx40be85738Nvf/haA73//+6xfv778309+8pNaHsoFm29plZmK1k+3D4AT/aNk8w7BgEIibZZrNuZNl96To+QLDpmczdFTaVJZi4CuzlhCLp2zOHwswcnBDIMjOYZSZ0cYh5I5+hNZ+gbSHD6WmPVtwOnK06RzFif6R+ntS3Kif1RuLdbRmeFi4FrqX9WkaypLOyIysiwWtNlcw6dSCqwKtoPjuHR3RHjzZV1suKQTTVVxHA/P9xjJFOgfMTmTyHJmOEdvX4qXDg9j2T450+XkQJZjp+XaWW/jv+fyBYejJ0d56fAgu1/p55Wjw/zypT72Hurn6OkUA4kc+YKL6/skRk1eP5FkYCRDT0eEZUtidMYDdLaGiYZnjiVmikOSabNco3tCe7PWrPrpuebT5xtFTUeWf/GLX/DEE0/w6KOP8sADD7Bz506+9rWvAWDbNnfffTd33HEHS5cu5bOf/Sw33XQTDz74IKOjo/z4xz/ms5/9LJ/97Gd5/PHHefnll9m6dSv/+I//CEA4PP1th0YynxnI0+UajS9Wfu4+zv1l1zeQJZ2ziIYCxZm2ARXT8hhO5dE1lVS2QCZbIJcvBqbhoM7gSJirLuma9HXTuWIN0ILtMjiSpyVq4PkKQ0mT7rHJX5m8M+tfk1OdRKeHMqjK2d94C/EXajMpLr8L3e0Rzhyv/v6Wd8V44WB/uaanEAvNheaLjr+GBwM6wUDx6zsW0RnNWJwZznHoRIJ83sV2XWzXg4KL54LveaioDKdyRCMBwoZeDnzkPKqf8d9zQ6k8g8kcqYyNphbv0J4ezmFoCoaho6oKXW3FGtuu67OkNUQ6Z+E4Coah4p/zujN9rtPFIZbtYTseecshb9o4ro+uKcSjxgXNr2qGCho1DZb37t3LmjVruOqqq7jxxht56KGHyo/19vaSTCa56aabWL58OX//93/P/v37+du//Vts26anp4eWlhaGh4u3eg8cOMDp06d573vfy9ve9jY+85nP1PJQ6ma6XKOCXRw5nixtYfxJaRZsBkfyOA7kTIe85WBZLgFdJZFyCIZ0DE0jnbewR3xM20XXYShlYgQ0Llvdcd7rFlcX8sqzsrOmTcH2aB9Xe7dUEL30nOlSLKY6iRIpk86280cx5aJfH6eHMnS1R2o2037FWLB8cjDD5as7arJPISrpQuatlO7eZfIOhq4SjxqEDJ3hVI79r2exHI90rlCcyFdwGM1beB44no9vuwQNlWg0QDJdoLO1eBtfVZUFFaw0o9L7X7Ac+s6k6R/JoaDgeG5xVT0fCraH5VoEdb14V9jQy1UrcjmbhGPie5BM24SHMoQzAVYr51e6mAsjoOJ6XnlJbN/3Gc3bjGYsIkGd7o65LTTSDBU0pg2Wf/jDH0775Pe9731z2lk6nSYUKubEhEIh0umzq3FlMsVbq+FwuDxKnE6n6egofiE+/PDD/Pu//zv33XcfANdeey1r165l3bp1/Pmf/zmXXnopH/rQh2Zsw549e+bU5lq/3kwsR2FotHDe9kg4yMCIyWsnf0sgoBI2VDTVp7MlSDAAp0ds8hYksw6JtI3rKTiuV5xl6/jkTRsjoNLVFsYyXSzHx/MVEqliPlRAV2mN6uTSCYb6o3TGQVEUTo/YeJ6H7Sgky0tuqqTzLgowPNhPKlH8zdsRNxjq9/HRUCnO3B6vsyWIoRe3JTIepuVMeFxVFNJ5n8FJ0rtVVWXwZGDGWcCz+bw2b94849/UQq371lxZjkditMC6pcFyW6vdZidfvE786vkDZIeiVd3XuRrx82iEvlqt96UR3+/xLrR9U13DW6NBXn3VLdfUjYU0DN3HchSGRy2GMw6241OwPRzHpz0eIlOwyeQdokEdy1GxChb9iRyGoeO4PvmCSdDQiEc0BgZHWNodpe9UH5qq0tkaIJs0ONLrn7fPSmvmfjpblqOQMSd+vhnTJWu6pDIOg2mXoWQBFJ+8Vbx7kM7b6KqCrkIBn1RawcwbtEY00klI5VWSaRMPCOkKh3pPYOgqmWQMc+QYiqJQsCFb8CjYbnm/wHltGf+5W47CyVMmgykTVdUYzVr4QDwc4Ig7ysjgiQnf1zMdc67gkSu45bikpLMlyEDf3PtbtT7L6frptMHyc889x3/8x3+wbdu2SR+fa7Aci8UwzeKoommaxOPxCY+VtufzxZzX0uP//M//zBe+8AX+7M/+jO3btwPwsY99DADDMLj00ks5fPjwrNpQyZN2z549dbkInDvxLaCr9PalyJ/pZe2ateW/62oP0xozWNnTwm9ePsVLhwdxAfQCMUPnzHAOXVdR8DBCBkFdpSUeozUW5MRAGtNyCY1Vx1AV0AydvKsyUoiwdl0PyzpjdI3V/wQmrGMfDKgcP3GSpcuWTxgJgeKSnK2x8yPeoKGysqelfIyTTUBwPQ9NPf/X6PjnTqVen9eFavS2vnF6FDjF+rXL2Lx5Y03e30DrID/Z/SxGrIvNm6+o6r7GW2h9p5aq8b40+vs93/ZNdg3P5Jzz/q5nSYRTgxm8UJ68kiGRLi5nHAzoWLYDrkN3p8pQqsBQKo+iaoSDARzPx/V8YtEgoKCqGuFwhJ6OdlrjIRQF1i5vIRIKlK/L4/fZjHfp6tmfSt9nXedsX6rCK0cThFSbTsPB8jOAQtBxyJkO8WiAYEBFUVUc10dVfILhMJeu6ySgqxw7nSTvGIQMjfToCO0dS7AsF1sJo0SXULBdErkCuqHS0WYQjxY/V9fz6Rpbf6Hk3M+95cgQg8k8pwfStFge8XCA1liQoKFxUXd8xu/cc4+5FB+0xYO0RI0LnrBfr2vDtMHyzp07SaVSbN68mVtvvXXeO9u4cSOPPvooBw8e5Nlnn2XTpk1ks1lUVWXdunXE43F27dpFT08Puq5z9dVX87Of/YwvfOEL3HHHHfzlX/4lmUwGTdO44YYb+JM/+RPe//738/rrr/P+979/3u1bKM7NNTrRP3peMfG85XDs9CjxiEHedDg1kMVxisXNHddnKFVADygEdRVdVcAolpGz3eLtn6VLIpwayuJ5xV99WdMin3JoiRhk8janBoszYzvbQuVgORoKlBdA6VkSgXw/XZPMyjWMyZcqHn9LcKryNMC8qomIyjk9VBzlXdZZuxFeKR8nmsFk1/DJnBrMcGY4N3YdVnAcyDgORIrlPm3Ho3dwFMsp3qfLZCx81S++fljDMDQcVyES1OloDZLKmqiawoquMCFDOy9QBklpq4bJ5uBkTXvsjq5GwHZxAhod8RCO5+G4KrbtEgzo6JqCooDt+nS2BlEUhaxp0RoNoqgqkZCGooDrq6RzFqGgTjJjMZwqcKI/PVYCVsP1fEzLRVEhoKnl7+rxbRz/uQd0lVBAwzACBIOUl00vpdzNlMIz2eJo0VBgVgNbjWjGnOV7772Xf/u3f6vIzrZt28bzzz/PHXfcwerVq7n//vu588476ezsLE/4+9znPodpmtxzzz10dnbyT//0TwB8+9vf5tvf/jadnZ386le/YufOnezcuZPHH3+c7du380d/9EcVaeNCZNnehJzRvOUwmrHQVIUlrSGGR/MMjOSJRXQGE3l8HyzHpVCwSTke7W1hQMEwNDwUBkdytMR0bNsjmTHxgWBAw/N8PM8bKzXnkc5atMaKs2qnyj92Pe+8Oo3JKUaj45HAhIlb001AkJJy9Xd6qFgJY+mS2gXLHS0hgoYmC5OIpjL1HI08quIzkimQGDUJ6KCgkMs7oIBtu1g2eEA2b6FrCp6tEDM0hkYtCrZPSyyAosKJgSzLlkTxPJ+RUQfTTnFRV4yOlvCs2iIunGUX0wpPDqQZGMnjeT6BgEJbPER7LISuqbTHwW4Lkc4VcF2FoKGRzTnkbRfVV2iLG2TyLks7wmiqSsEu5qdrusJoxiZf8LCxcT0PQwty5GSSZLpAOKTT1RYhb9pEgjqpdIHWWHDSNpakcxb5gku+4KKpCqbllpdNj4Z1BkdygD/t928zTOobb8Zgubu7m/e973088sgjpFKpCY995CMfmdPONE1jx44d7Nixo7ztkUceKf//1q1b2bp164Tn/Ou//uukr3XzzTdz8803z2n/zcoIqMTGddZk2iSdszB0jf5EjmzeQlF8MlmLSDiAbiuMZguMZosBtZouoOkqhYJDW0uQgKby8pERdF0loGnFUeW8zcqeOJqmEY8EyZk2QUPDsr1Jg9p0zmJotEDXcpWu9onB1Pg6oePrOAYNfU71RkV9nRoLlpfXcGRZURRWdMY4OZTB83xUVZn5SUI0uKkmQDmuR84srr6nKGA7AD5BXWFpd4yXexO0xAIMJLI4noeqqKhKcf6IpirEogaJEROPAiFDIzGaJ2s6rFmuk83ZnOhPn5eKsZAmXS0UrufR25ekbyCL7TgUHJds1qarPcxVFy/BdiBn2mOLj2isWRYjNqxy4GiCgKoQDuqkMsUJnB3xIIauYQQ0gobGUNJEAVw8YgGVXNZG9UHV1HJ9ZlVV6GwJF1d7VJRJJ2SP/9yTabM88qwoxcWndE0BfLL5YrpQR2to2mpUzTCpb7xZVcP4i7/4Cy677DJWrFhR7faIC9AWL3batqiB53ukcza6oqKqCvmCSybvFCfjDeVoiQXI5G0KdnEFP1VVKbgehu+jaQo508EruFiuV/4FGDJ0MMD1YVV3FMf16E/kyBdssnkL1/NY1lm8PV4a8U2mTWzn/EDm1GCGSEgnb9kMJDIoikY0pE/IaZbbgAtDLWssj7e8K8qRUykSoyadbQunZKQQU5lqkQhVVTACGu3xIIoCI6MmuqYS0BWiQYOOeJBM3qIlFiQ3lCXruLREA9iWW7ztnnexfZ9s3iZXUMlZDhd1xTk5mGb10hY8r1g7d3ywLCltlef7MDJawHYccmbxu1dRigt/nRjI0BoNUrBdMjkLXStWk/IplsocTRc4MZAGX8EIqIxkCsTTxVHeTNYCBTy3WBrQsV1UTeHUcJbWeKh4F9jyGErkaRn7Tm2PGRMG10omLKluT0yt7GwLk85aDCbzxCLFwbnxaRyTfWfPdwG2RjPr0nGlKhSi8ZxNW9CIBHVW9cTJmQ6ZvEUqa2JaDsMjJqGQiu16OLaHbbnEokEsyyUSCpDLWSi2S3vUYKTg4Hk+uqrgAZbtourFE7G4slAez4OWqAGKwsmBLOmsha5r5RMok3dIZi2ypl3eljVtkukCK7pihI0AAV3H95kQKMPCvU2z2JweytLREpo077GaynnLAxkJlkVTmGqORt6yGRo5W56zJRbEtl0CAYVwUONNF3ew/7VhTuTTuH5x3kkimSdkBFBUhdGcRcF2UVCwHY9wUCeTt7AsHXqgozWI7bgMJXP4vj/jMsliatOtOKtrKoGAiu+DpoKmqkRCQSynWJ5NVSBrOvgeOJ5H1vRIpQtkTHes2lRxct9orriegu24ZE0b03LxXB/XA8NQyZg2tlssGagqCqbjE4voYyk7DkFDZd2KVqJhY9pURtfzGE6a5WoZ8WhxtUDwz7tTDJN/Z1/ostiNalbfcu9+97v5l3/5F9761reiaWcnZy1fvrxqDRNzE48YLIlrtHZEaYkGefHwwNjsap/kqIXt+URUlYLl4HoekXAAx/VpixrkCw4+Cr6vkEhbpDIFdE3FtB0KlkcsHCCgKMQiAfoGMoSDGss6IsRiQcJjgVJ/Ik9r7OyvTR+fvOXT2zdCT0eUWMQgk7PKtZbhbG3mc0c2FuptmsXEdlwGk3muXLuk5vsuLeV6cijDxsvOnV8uxMI0WXpZWyxILm+TGM3juD7BgEpbPEg4qBGLFAcZujvy9J5MYugamgaaWpxfYhZsdE3HdX1QQFcVNAUyOYvlnQFypkPL2CIT42vXyyJPk5suGJ5pOWcjoNISNUhlLIJGcZCo+JiK5TgMJYtpD7qhkhg1GRktkDctHN/HLHi4bnEyPa6H7XoMjORps4v5xAFdQ/V8zLxHWzTMcKaAoavF/+IGnusRDutEIwHWrWhl6ZJYuV1THWe+UEz9ATAtF9PK09UenvLH1FTf2c2UMjmrYDmXy/EP//APtLe3l7cpisKTTz5ZtYaJufP9YsK97+vEIwZmwSWbtwGIhnQ8X2FJexhvxCSXt/G9YuqFqqoEDYWQUby94o3dtrNsD0PXCAd1dCAWDaAqKp2t4QkXV0WBfMEhEip2J9NysCwP03KxneJkwETKxHLc8qggFNe2L26f+Kv0Qm/TTHcxE5XVn8jh+7XNVy65qFsqYojFoS0e4viZ9HmT8KIhnVTGJKupeL5PZ2sEXS+QSJm4vodV8GhtCaIrKo7nYgQ0dEUhazq0xgxCQR0fn6zp0D7J9VZS4SaaKRiebjnneKRYJq27PcypoQzOuAqBkVCAVt3g1GAW2/XJ5As4jo/r+iifc4moAAAgAElEQVSKimc7GLpCzi3e4dVUFdfxSGUKxCN6cQ5SwCWdtclbLqGIQnvMoGB7tMaNcn3kaChAOGjQn8gTDU8fwI7PVy5Nvi9W1FBZ3hVrqtSKuZhVsLxr1y6ee+658oIionG1xUMcOZnCdlwc18PxPAxDQ1WKt+FyeZdoOIBZsGmPG4xkCgQNHUPXiEQCqKjFmsqaQsTQMS2XguWyZnU7jsP/z969B0lWXwee/973vfmsd1W/aOgGGiEaaLdhBfbIIGRLIVuSA+xRxKKxvOOZWYW8csgKjW0cBhnMBkNosNaeHdnWrL02ijAjGYu15RnHWisYaTyyRKsBSSBooB/0u975vu97949bmV3VVdUPuqoyq+p8IjqiOzOr+peZN3/35O+e3zkYRrY5sK+Y7eBtcyy9s2mg3gwwdDXLjXKMLO9OV7EtdcEKcvsDGUUxfhjh+RGmqXUmnsuZrC82mYmV1Y1KGG3tAP30ZHPN/28hVtNSX/j7iha1RrZRK4oSgjji+Nlsg/XVW0oM9TnEUcKhEzGarpAzNCJNhTilFYaUcgZJAnE8V72gYNFyY95xdY40YVEJMZBUuPNdLBi+WOWHYs7kxl1DALxxvEKSQn/JopQ3OPTWLDU3IAjibBNdqhCGMbqhomkmqZJ20jO0NMUyDHK2jm3pJDE03JA0zRYw/SBhuN9G1xTCKEVXVcolk75C1iZ7puqhkNJfsheVZG0fdxMzTXKOuaAULGSLYuenVkRxgqLAxEyLSt3b0AtUlxQsb9u2jWq1KsHyOqGpCjnbZKikoKrQcANafoxt6GiaQhDGOJaBoqkU7az2JrZJgWy3a0oWBLluRDS3+lxpZBsPyrqGZeo03TDLdZ7bwdtXNM7VX+ysFCdsHy2iqwq1ZkC9FULaWpCjnLcNCjmHRivCMrLbLiXQPf+k0vKiJZuVyArJ6mgHy2tZY7mtkDMpF0xZWRYbynJf+A1dJecY2absFE5OukQRJElKrRkACo5jMNafQ1VSTo03UDUoFiziOFt1dGwd21Tngq6U4X6LciFL51iKpMItdLFg+FIqPxRzJv/TTVu5cdcQlbpHpeFz9FSVKIahosN4pUWtGZC3NQb6slgrJduglx8wiKIIUoWB/hyjAw6qolL1XBqtkOG+HHHQRDNNXC/huu1FTk62CMKYUt6kmM8Ws8Io4c2TFW6+dgTIjrEjp6poqjJvIUvh+NkaQRARJ+DYOiP9Tif9rZ1aMf94TdONv0B1ScFyGIb87M/+LNdddx2Gce6bxpNPPrlqAxNvz+nJBlMVF9ePqDY9oiTFNg1cP2K80kQjCzZytsaZqRaGoeCHMZoe4/kxhq5imTp528A2NM5OtTA0nTBKydkqeUdnuM8hShKOn63hBiEFJ/swpmlKkmbd++Iky4fWVIWJ2awjY942yDkG1YaPUqTTxedi39rPt9RJ5ex0i76itWiVRFZIVkc7UO1GsAywdajAoeOznUuEQqx3y82DaZpdDk/TbJN0HANkSa8nJur0FyzCOGam7jFTcbEsjXoz5PREPQuUcjpJCrVaQH9/ls6RswxUVWWgvPQC2IUuq2/GdLeLBcOXU/nhXB5vjTSFQk7n5HgTU9co5U3CMMb3I7aNFsjbJg0vpFJzCTUdkqye9unJbMHL9QMGyhZJmuCHCSP9OnlT44VDUxiaSqqmjE+3mK763LpnkDRRUJWFVaoarQBVORcsh1HM68crJElCuZBV6Wi6ESP9C6seXe55+3zr7Ti6pGD54x//+GqPQ6yAVqDy1pEpzk67GJpCGCc03AA/ilFSUFEIomyXrR/G6KpCpR5iGRq6kiXy25ZKf8EiSVNKRQtdU6k0QxxTYWwwx3BfnpSUMEwo5rP2mWkKlXqIQnbAv3P3EOPTLWYmUurNoDO+drmZ87v4TMwsnmQAas2AE+O1RR+mpT6kpq7SaAWLgmVZIVkdJyeyYHn7Eh0a18K24QKvHpthfKbJ9pFiV8YgxEpa7ot91rDCotrIAuaCrdPwIlp+jKrAmekW0zWXMIpouBFBnBBGMUGU7T1xLJ3pagvbMGi1IhxLI0piFNJFJT8vFrRs1nS3iwXDb6fyQxAmqKpCHKXkHX2unKuGZemM9DkMlW1UTaWvZKCrCpOVFuNzfQkUYMtAjjBJMYwU29QoOBq6qnFmxsW0VMIwxW1lm/RsM+XIiRqlgkEhZzE+0+yUjxufaZIk2Sp2mqa89tYM2ZcxhSRJiaKEwbLNTM3jmm0Lx7/c87qY9XgcXVKwfPvtt6/2OMQVqrcCjk+0iHWLatMnDKJOreQwinEsnZytMTUb0owT0jSl6Bj0F0yafkyl6TPUp5FzTFRUbFNhsM+haRoYRsBg0QJVoeEGKKT4YUKjFRLFCbqmYlv6XJMRlz07BwA4ZhlzRdYX12Wc/4Fa6lu7F0RUG/6SqRlLlqnJm0xV3EW3b4aNB91wYrzOSL+Dba1t2bi2rcPn8pYlWBYbwYVWL03DJEkh3/CZqbbw/AjLzFoYN92IMIypNUP8KCFJEmxDJwg9olghTlNsM0vBS5UUw1Rp+REtP9tpdjkVC650NXG9WukyaOdWVWPqboiha+ha1rY6SmJMXUXTVMYGHY6dqREEMS0vQlWBJCVJUxotn+GhXHZfHFNrRth2RKMZompZf4Q0TQmihCCKmam5DPU7FOcqoJyabKApCqCgawqNVsTJiRpTVQ9SBU2HFAXbyvYutZuRtF1J05GVOI7WemW6O2c6sSLmHywTM01qnkI9qDNT9bAMlemqTxDG2dfQBLwgu6SXs7PuTa0gwjE1TE0hVlWSJMX1Ikb7c4wN5jAtjb6izYAX4QcxYZRkHf80hcmKO9dNKqvJ6IcBiqKgzF3iKeZM+vMKI9tKiz5QTS8kimIOn6xgGtku2/MfU28GSxZOr9S9JT+ktqmzdTiPZarr5rLOetVwQ2brPj92w0jXxtCuqnJyosHt7+zaMIRYMRdavWy6AZOzLqqqkKTZXhQ3CDE0BdSUciHrqpqzdVpeiBfF2KaJrqmkMeQtDTdI8LyQgmOgKSq1RnDZq3kbrYXx5bjQl4rzV0pnaj7Hz9bpK1qddMPzy8zpukbBMbFMj3ojoJQzaHoRubm0mUYr5LAbMVvzqTR80gQKlk4rDIn9lFTJNt1V6kHWvlqBuhdiW1rWZyEOCaIEBVCBgbLDYJ/dKffq+iEKCnnbQFEUXD+rgKUpCnEKGgq1VtanoeDojPYvrMhyJU1HrvQ46sbKtATL69T8g8ULIo6PN5iYdUk1B4WsRJCmKlltTV0FFVwvwjQ0SFLiJMVSNcIwpZAzMHQtq4BhZY1NLFPH0lVyjk6SJLh+iKmrFHJGpwGJ62cF7+M42wRoW4tz4NofKC+IOq03XS9idMBhYqbVKXo+NphD188FuoW8gWMuvUt7ZCC35Id0y1BBguM1cHK8DsBVo91b0d02Vz7u9JRs8hMbw4VWLyt1j4GyTaMVMNhnM1tNaQYxjWZAzjbIOzpx4nDorQquF2W1fEkJo4hSMc/4dAvb0EBVcMOYuhvgBhGTsy0mZ5tsHy1e0uLCRmthvFLmr5RmV1izf9caAZahL1lmLm8bjA3lSUk4ebZB0w8Jk4h6PabWCDH1lJxtoSopYZyg6wqzdZ+WH5G3dDRN4/REk/6ijWGolAsGTvsYqlVQNA0FBQUI44ixQYf+go1pqIzPuMxWPRzbYMtgjihOOD3lE8YxTk4n8LI0HoCQGE3Nyg3WW8G8JmgXXm2/0Mpv+zhqeuGC8nSX2mSqG1c4JFhep+YfLPVm1uxDVbKcZF1RcKOUOIW+sk297hMEMaRZJYymFzLan8P3Y9wgotoK6CuY5FSDiWmXME4p5A2CUOH1E7M03QjbVLEsnSDKWlkHUYKhayQJQIyhZfWYS/mFB2oxZ9J0A8ZnmoRRktWK1BTeOttgoGRj6CpeEHN6qsnN1w13dtlOzLSYqfpzl6OysndhlFDMGYwM5BgdzK2rzQEbyYm5YLmb6Q9bBvMoitRaFhvLcquXQZjMK+WVMj7tYqgapqEyU/eYrYFlqqRpiqqpoEDO1CgXTGZrHoauUGl4+FGKZaqoqcLx8RpbBgudwOXo6Sq2qaGp6rJz6kZrYbxS5q+INlrn9unM7yGwVJm5vG2wfaSEH8TMHvdRFY3J2SapoqAo4Jgh/SWLnKly5FSVhh+hKiqeH2ULR/0OURzTrEWEfoyiZ43Edm0r0/BCWm5IPm/iWAbjMy5DfXnCRtbJcbDsEERJ51zcV7AwNJWGF2AXNGZrPl4Qknccdm0rUS7Yi4LR5Y7Xi638tkvctr9UtF/DMEoWBORLURSlK1c4JFhep+YfFEGUbRRQNRWSrC1m3tLwowRTUxgayBHFMS0vxPVTSjmTnKUTxSlKqFBwDHK2QZykeGlCGGSVLhRFYbrqkaYpmqoRJx7bRvLomkoQJRRyOoauoGsmOdtgpN8hjBYfrGGUMDqQz75x11xmaz5RkqCoMDLX3CScC8KBziWqJAmZbfjUGkEnsLbM7Fv66GCus0FQrK0Tc5v7dox2Z3MfgGloDPfnOC3BslgHrjS/MooTpiouYZRwZqqBY2t4QYymavTlVLwoZrbqYhs6BVvppM35c5sAUVUs0yCMA3RVJSWBFFpeiGlYnBivZV3kHIOrxoqkqb7kZe2N1sJ4pcxfcZ9/DpzfsXapMnNNL+TkeJ2JGRdVyRqLRSkkcXYe99KYhhtiqhqWoYGq4rpZKg0KRHFMvRJgGCrVekis+Chpyki/w9CAw3Q16wZoG9kepaabtcimAJalE0ZZ05IshcfAC2IGSzZnpluUCxbDhsOWoQJpqtD0QhRl8dXepVxs5beYM3EsDdvUFrTUtk39oqvD7eZra32FQ4LldWr+wZIkCS0vIopSGl72jTNn6SRJjB9qOHaWqJ8kYOoKmqYyOeui6SoJKV4QE8cefSUbSEFNOgGrAsw2fGxdp5AzqTZ9Rst5XD8mbxvsGDkXsA73O50Jod4KmGkkHD5ZYWKmiaoqtLwYhWyVOE6gUvMp500sQ8c0shSM+ZeogLmgPTtZbB3Od8rbbPQNJb2svbK8o4tpGADbhvK8+PpkZ6IXohddaX5lfe4ydRBmDSBqzZAoTklJGB3IFhuOna2Skl0RnK16xHPtlGtuRH/RxA9igigmSSGKUyr1gL6STa3lY1saTTckTlLqrSw3erjfWTZw2UgtjFfK/BV3Yy6dELKN523tQM7QVU6ON6i1Ajw/wvdjwjgl5xicGG+gKpAASZrihxG5WKMZxrhRgh/ERCm4QYwKUMjKxjXdrCW2G8SoaUqaJMzWQlp+hKlruH62d6kcxSgKxHHCVWMlzigNmm62Ub+Q0+krlpicdSnnDMolG8c81z+h0QoYKFmX9HpcysqvpqoMn1eO7kI/O183rnBs7kSjdWz+QaEoCp4fEcUxW4byDPXbKCoMlBzyOYMwiCnMrRiUClbWeSclS9sIkqy1dZy1p/a9GAUNP4qpNPy5QFlD11XirL4MfSWTgZJFrRlQaXhA2plcTUPtnBy8ICJNARROTjQIwpicbXQ6/5m6Sr0ZUG341Fshlbo3V2Q/k7cNijmTkf4cecdY0P1vM2wo6VUnxuv0FayunzDbm/xOT0knP9G7LrTKdqk/b5s6w/0OlqFRyOlYhoox1+q66YVEyVyXtzCl7oY03ZBKI0BVYKbio+safhjP7U9RKRWMrOsbCpaRXWUEFnRhBZlnL1UxZzI6mMMyVUoFE9vUOufEtr6iTb0V0GhF5ByDMIzxgiwVcrBooasqBcdA1zXiOEbTVCxLI01TWl62gd4LYqIowfMiVEXBDUOKtommKaiqgqGpFB2DM7MuigJJDMncF6dywSJJYaQ/R3GuOlUxZzJQctg2XGCkP0/ONrLAOW+RnvfWZ83HLi0YXW6Ftx0fnBivMTnbYnymSdMLL+lnl3u9FSVLQRodzEk1DLHY/MthmqpQKphZn3hNI2dlqRW1ekDeVNFyWaAZhgmKomDoGoWcShDEmIZKCqQxuH5EOWfiBiGqopAmCZqmEiUpcZiQs3X6Chaz9YBSwcTwVfqLNmkK8dwncqkmI8W8STSeTer9RZvRwRxnpprYlkal7rNttIipa+h69u9ygc4k0/6Wbp7XeGKzbyjpFj+MmZht8c5dg90eSqej1OnJBtdu7+vyaIRY2pXmV7YfZ5s6tpkFyq+fqM4tLoRAitsKcCxtLkBWiUiwTZ2cqTPlZ5vCDF1FAUhTLD3LTdb1rHpRuz1y+4peO9dW5tlL115x3zG6fNrNifFaZ1Nby8vek5xt4wcxpqmRsw3Gp1s4po5laIRpSpJAMWdTbdSzcoFzX2wcS8MyDSqtACVVsgWtOMXTUqw4IU4igjDCNHQGyxY5y4A0q6DR/lJUyJnMVD2KeRMviJicdbNg2cnii4YbUMpb5G2dwb4Lp9vMf85xknSuPs9n6GpnRbiQM5mcdTt5y+3HXmpAvtZXOCRYXieW+/C1DxYvCPH9CEWLs05PbkiCgmUZFHSF2ZqPritZpQtDY6bqkqRplicUJQRBTH8+67AXRwmFvEGaKlimBmm2WZAUCo5B3jExDY2hPockyWouR1HM6GCZYs5c1GTENnVGB3JUmwGqqjBUdtg6lGd8xsUyNcp5c0Ed5noz6ATL8z/M8232DSXdcmqiQZrCjh6obdyuiHFqQvKWRe+60vzK83++VLC5bge8cSKh3gzRVYX+ok2rFRCnKboOOjpRHDPbCOgrmhiqSl/BpNkKsSwdyza4emsRBQU/jOgrWkRRmlVL4lyurcyzb89ygVyl4XeCQ03LNqoFYUIxbzA84BBFswwNOKRJiq4rDOdNmo2ApheSz5moXkTLjXBsjbyjk7c0Wi0F3VRp1WNME5Q4pViyGe4rUC7YNFsRYZR15hssOwz1OdkXJwUGShajA9leo1MTDUxDZftIgZaXNTMxDW1ulTzbVL+c81ONVEVFU7OgWdfObRidv5DWvlpSbwa03CzFo5fz39f8a2OSJDz00EPs37+fe++9l6NHjy64/9lnn+Wuu+7izjvv5Ctf+QoAruvyyU9+kn379vGxj32M6enpZR+7EbUPRD9IFvRgr8/tujV0lXozzMopJ1kpuaYXYWoKBVvrpD44lkF/ySYIImrNgDhOqdR9PC+imDcwNZWZio+mKxiazrU7ypRyBoWcybahPDdfO8Rwf45Cbq5UUZwFyqaeNSWZXxbmfP0lm5G+7HLPcH+OcsEm7xjs3t5PIWfSaAWcnKjTaAVoOp3LKwMli3dc00+5YK7Z5RaxvE4ljC5u7mtrp2GcmpQ0DNG7lgs4LzUQNXSVydkWpyYbTM5m6W3lQtYp9Y69WygVbVJSJus+pbxJkkA0l+OckhIGWSWNStUnTUFFJU1SBooOu7ZlCxw7x8qMDeUxjWzeHeyzZZ5dBUEQd/7uzFt1VVAo2llqjGWoWUqFruF7MYauEcUpvh8RhDGOreL7MX6YYpkajqkRRglJqhAnCaqusH0kKwcXBAlhHBNFES0vZMdonp1bSuzZOcDu7X3sGC0xNlhgx2gpC4gH8gyWcwyU7c6xAOlFj4WlUopsUydn653/5/xKIO3HDPfnGBnIdx7Tq9Z8ZfnrX/86zzzzDE899RSf//znefzxx/njP/5jAMIw5IEHHuCjH/0oY2Nj/O7v/i533303X/va13jhhRd4+umn+dSnPsUXvvAFfuu3fmvJxw4PD6/1U1p1F9tZGkYJ+ZzJUNnEcmwmqy62qZJ3TPKOiaFrOFt0PC+k6gZ4fkx/OQekNLwwuySTKlTdCF3X0JSsdXQpr1PKW+wYyzM2WKRcyA7kaiPbBNLmBTFJ3e+UfFkq+T5vG51vsO3V8bHBHF4QLyofoypaT3/D3Mw6m/t6YGW5vUJyarLe7aEIsawrqSAxP8c1aWV17ZOGz9B2G8vMVpxtU0PVVJQkxXUjUBR0HRRFxbY0dE1BN1QcW0fTNRJShvpsbFNjoOTgh9Hc4oTR86t7651t6XOpM2TNQQrgeiGaCicmG/hhgmXoBGHIbC0g72RXdiv1bCOmHyZ4QUK5aDFYtojilP4+B9MLUZKQctHC1FV0LSsbOF3Neirk5tIort7at+x7O/8KxrkyhdkC1cWOh0tNNVrPdbrXPFh+4YUXuPrqq7npppu48847+eIXv9i57/Dhw1QqFe6++262bt3K7/zO7/DDH/6QF154gb1797J7925uu+02XnzxxWUf+573vOeC///BgwdX9Pms9O87n6IonJkNSZLFB5iqqkydNjk9E1BrxThmiprUKJkJQZRSnW1ipk3iJCGIIEwUqo2YOI5RYogSGO23SWJo+QGlnI5lpMxU6yQxmGrASFnj+PEZGrMmo33ZB+bYhIfrL2x92Zc3+U7lNAOF7KAPIgXb1Dn0+qGsmYmtUdXTznPK2nAqHDnr4ofxgt81UDRpzJ7q/K6VdCnv1/79+1f8/307VvvYejtefHUKgNrkMQ42Tiy6f63HPFjUOHamxoED30NVlVX9v3rx/eiFY3W1XpdefL3nezvja899E5f4+JlGghecm2ujOGtVfeKERl8+a0N8ZjZmaqpBsWAyPuPiGBqaquA4GnGYoJsa1ZpLKW/gBwEK4DYanDju0qromIaGV1Ave2yXYyMfp5cqiBROz4bUWzFRnO0fylkKjqnihhpnKx5uK6LhRfhhtgjltlRMU2V0wOLsjItpQDGnY2gprZZLPmdSqflAiqEpeG6LWFU4OR7Rb2dtsR1NJXZTZkOV7xyYZqikLxlPBLHCVNVfdPtQyWLiZHrB53b+cdpmmzqV8Xnl8yKFqdrb+z/mW6338kLH6ZoHy/V6HdvOLj/Ztk29fm5VqNHIcg8dx8FxnM7j6/U6/f39C35mucdezEp+aA8ePLgmk8CJ8dqS38YsU2XHaImh8Rpnppp898XXGRkdxkyy4t7btuiMDeZoeRFHTldJ3JAobZGq2Tc+x8pSKaIooVSwcMys1vJA2WagaGNZGru396FrWWedPTsHACgcnqTWONd1p51vrCiwe95Gq+z1ue2Cz610ZIpaI1hUa/H837US1ur9Wim9ONb/+Pf/QF/R4qd+8vZF93Xj9X3HoYM8d/AkW6++oZOWsRrW27Gzllbjden113utxnf4ZGWuotC5znB9gKoqbBsu4AcRtdfG2a7ZjE82cSydKM0qHCVKiqGopFFWJz+Xs9ENE8vUcRyd664d6+SiboaV5G4eT+1UyuJQ1LkqqyhZemLeNgjCCOVkFdeLCKOYiVmXOEnw/YiRgRxTFRdDD9E0FU1R0XSN/pINSkKfYhIkCTOzVQZKZXK2hmnp7Nw51GlCFkYJlqnSSMHGIZfT2TZSYGywsGA/1OBYluo5P8/4Uq+ALFXKbalj60prjndrbljzYLlQKOB52WV3z/MoFosL7mvf7rrZAVUsFpf8meUeuxFdrKagoas03Yi8nRUuDyMFU9fYOVZgoJxjfLpBIWcQRgmFvMmJs3VURaHWygrUh2GE7ejUWiGmqUIAhYLBQNFh23D2mirzFu365gLr872dSymluTrLK/G7rvRDKC6sMVeDdd/1vZPqdPWWMnCSY2dqqxosC9EN8y9bz+8M196AZ5k65YKFqqpZBzfgrbM14iSl2YpQgLytU8xbzFQ8RgbzhHFCnKTkHX3TBMrd1k6lnL+pLYjObYyv1D36CyauF2HoGsWcQRSnWLrKYNkhTSGIYppuhGlo9BdtHFsnimK8IERTVQwtq13sBymDJZMkTag0fHRNQVPh1ESLnKWRs7LfXTs6i+tFxPPW4YIwod4Msj1MxqXVVIbLSzVar3W61zxYvuWWW3jqqad49dVX+fa3v82+fftoNpuoqsquXbsoFos899xzjI6Oous6N998M2+++SZPPvkkR44c4cCBA9x+++3LPnYjutiBGEYJw/0OZ8+o9JdsLCNb7S0XTHaMlpiYaWIZOoNllSCM6S85+EEEaYJt6Jh9FkGQkrM0UCCfM0jirMlI2/zgdSULgq/U77rSwv/i4o6eqQFwzdZyl0dyztVbs6Y4x07X+Imbt3Z5NEKsrPnz4/zOcPOrAw2ULFw/Qtfam6JtvCAmCGN0Q8OYWyVUVYUoSclZBnuuKuPM25QtVtf83N12CUDIFqHa78FAOcALElpeSJIY+EHM1pEcjmGQJCleEDHYp5CEKflc9gWo6QYYho4fxLimhmPpWKZGYa5c7Mhc04+35uZu29JpemGn6smbJ2e5Zmt21b5dOg6yhii2aVzWOXS9BsGXas2D5fe///08//zzfPSjH2Xnzp088cQTfPzjH2doaKiz4e/RRx/F8zweeughhoaGuP/++3n55Ze577772Lt3L5/4xCcwTXPJx25UFzoQgzCrqVmwlQWra+0PqKIo6JqCgoZta5RDg6kwQtcNLEujr+ygKimkCmEUk88Zc11+sg+obeoLgteVbHm6Ur/rYpsgxZU7eroKwDVbe6fN+DVb5oLlM9Uuj0SIlTd/frQMFVA6qWptY4N5gijF8yPqrRArTEFVsU0VXdPRNIU0VSjmLcpFk52jRYIw5UfHZrAtXa7ArYGLbWwr5kx2bilhGurchvcU29LJ2XNXhHM6lqXi+VljsGLeZHTAYarqcnK8QbMVEMUQRTGlvMHQgE1f0eqkOLYrSymKsuBLV615Ls+4Pq8h2PzHyDk0s+bBsqZpPPzwwzz88MOd2770pS91/n7PPfdwzz33LPiZfD7PH/7hHy76XUs9djO62AdxoGwzU8/qOyYxNOfK0TiWjmFotNyQ4T4HU9eYbfiQAqQ03JAkTRnavnAyXel0h5X4Rnqlhf/FxR073Xsry31Fi76CxeFTEiyLjak9Py53FW5sqECl7lFt+KSKgmVljSu80Ke/7FCpBxQdlUJOZ6BgdwIk01DkCtwauZQrqA8JnzgAACAASURBVMWcSfGqgUWPqbcCDF1luuYSRRGqqhEnCVGcUHR06q0AP47xwhg/jqm3AvKmviDFsdEKqLeyKhzGvAZfpfy8rrjzAuT5j5FzaKb363WIi7pYHc8tQwWGyvZcBYqIMI6xTW2um58ytzM2ZabmkcQJ9VZItRkxWWlh6OqCb5kXq/ncLRdqrylWxtHTVXRN7TQD6QWKonDtjj4mZ10q9cW7rIXYKC7U4tcPEwb7cgwULQxNpVTQccOU8WmXNElAUTkz6XJ2tkXD86k2PcI47bQbvtTW2+LtebvtmeutgFePTvPdl8/y6tEKUxUPL4wwdY2WF3NmuoWqqti6jq0r2LqOqqo0vHBBXNBOqfTDiDBKmJhtMVNzO3uSgAVdcgvzxiXn0Ix08NsA2h+4o3NVJJZa7c3bBn0Fk7proioaSZJgGVmOsqVrRHGCqSt4QYpt6qiKQr0VcHqyiWPr7BjNfk+vpjusZB61WCyOE946W+eqsSK61luT5/U7+vjeq+O8cWKW224c6/ZwhFg1y12FS5LsCmKaJvhhzFSlhWWq5B2D4tzm7oGSRb0Z4AcRWwYL9OUtgjBhpuqhqnTmeLE63s4V1KOnKhw7XWey0iKOU5pxTNNrYWgq20eKjM+26C9mOeu+q1EqmDhztZznp/AMlh1SUsanW4RRimPpjA44mIZOIacTRgmlgklS9xd00wU5h7ZJsLxBFHMmAwV1yXJrlbrX2TV9ZrpJFCcYWtZ1r1ywaHkBuq6RJClK61wOUxxnuUvhvDrIvZrusJJ51GKxU5MNwihhVw+lYLRdd1W2QeX14xUJlsWmlHf0ueYTBuV8QhBGzFabaKoCKFimhq6pGHq2qXu0P4cxt8kLFnaWE73j5ESDJE1RFBVo70GC6ZrH9pEipnpu4SKdV6bY0M7lQs/vrDtYWtyyOowSdoxmez+kotTyJFjeBIIwKxju+jFxnG3ci+N4roh4SoqCoS8uCK5pWe6SNW8zSS934Nnou3G76WgnX7l3Nve1Xbcj+4L4+onZLo9EiO7YNlKgdnQWL4ip1D1qzYAkTjF1FT/MNnj1F1VG8vmslfK8QBmyKgmi94Rzdd0Ktk7TDQnDmCRJQUnxg5jtowUOn8p6TkRJQhilhFHI9TsXL5pdykKXnEOX1/0IR6w601CpNwNMQ2OgbDPa75CbmxwtQ+eq0SKWoROGCY6tYRkqmgrlvMWO0QKleWWKLpYfLTamI6falTB6b2W5XLDYMpTntWMzxLFsRhGbz9hggau3FFGVbPmjnLcY7rNoeDFpmqKqECcphZzB9Vf1ZS2yVQXb1BjudxbM8aJ3DJWz86qmqxiaiq6rKKpKfyGrbNFfdrhqS4FiTsfUdYo5nau2FOhf4nws+3qujHyd3AT6ijZHTmUrg8W8mV2uUWB4IKuA4Vg6g2WbejPg9FSDQtGir2gx3Jdb1bJxYv1440Rlrqti7wXLAHt3D/EP332Lw6eqXD+XliHEZqLrKu/cPYShaoxXXMKgQV9fjqYbUcoZ7NxS4JZrR1jq+6QsdvSm3dv7aLQi/CAi7+jYiYZpaFyztcTYUI5mK+CaLWWGSg5qWGX3jn6KeRNNXRwAy76eKyPB8iZQzJmMDWYtMxVFxzLUTke+nK13Wm4OlBzGhvKU8uYFA2G5VLO5JEnKmycrbBsukLMXd27sBXuvzYLlH745JcGy2JSCMCFnGQz226RKSquhMlCyuWarxZ6dA50mVZKXun6MDRbgeohfS841Ghlw6C9m1S1abthpcjJTUBmea0Ky1GqxLHRdGQmWN7D5kyJkl6vbxextUycIs85/8wvcl/JmJ9lfCMg297l+1MkN7kU3X5s1JPrBm1Pc957rujwaIdZeez/JcH+OMEop2BrlvI1tZvnJ7RVEWexYX8YGC+y9NqHWCKg1A1peTBS1KOZNBsrnVoWTeTv8llstlvf+7ZNklQ3q/HrImqoSJylJmm32GOpzFgXKIJdkxGJvnqwAcG0PB8sDJZurt5T4wZtTtLyw28MRYs3Nn7vTNJvroyTBtjTiZPEGbrF+GLrKxKyLF8Rzra9jJmddSvlz9ZtVVb3k+s3i8kmwvEEtVQ85bxs4ls7u7X3s2TnAzi2lyy6SLjafN05kwfL1O3o7veHOvVuI4oTvvTre7aEIsebajS/8IMIyNfryOjdcPcDOsTJ525DGI+tYGCUMlG3MuRRK01AZKNuEUUIxl10N3tJvsGO0JOfwVSJpGBuUlIkRK+XNExVUVeHqHiwbN98dN2/lL//hEP/jB6d5977t3R6OEGuu3Ra7XLCpz6gLmkt0uxa+ePuCMCFvGwvez/btbWkqVw9Wk6wsb1BSJkashDhOOHyqys6x4qKUnV6zc6zIjtEiz79yVlpfi01L5v6NR97T7pNXeoOSeshiJRwfrxOEMdcu0Rmy1yiKwgfuvJooTvmH777V7eEI0RUy92888p52nwTLG1Q7f01yksWVaOcrX7dOyrHdvX8HjqXxtX88gudHF/8BITaY9txvm7rM/RuEnM+7r7evq4orIjnJ4kodeitrIX19D1fCmC/vGHzo3bv58tdf52/++2E+8t493R6SEGuumDMZKKjsXgdXhMSlkfN5d0mwvIlJcXpxMa8em8axNK7e0tub++a7965r+ftvH+OvvvEGP7VvO2OD+W4PSYg1MX9On2kk1FuBzOnrkJybe8+apmG4rssnP/lJ9u3bx8c+9jGmp6cXPebLX/4yd9xxB3fddRfPPvssAIcOHeK+++7jlltu4SMf+QjHjh0D4A/+4A/Ys2dP589LL720lk9nXTu/DrMfJIxPt6i3gm4PTfSIeivgxHiD66/qR9PWT8ZWzjb4Vx++CT+I+aOv/kB2iYtN4fw53QsimdPXITk396Y1PQM+9dRTvPDCCzz99NPMzMzwhS98YcH9U1NTPPLII3z605/m3nvv5YEHHiAMQx577DH6+/v5u7/7O1zX5fd///cBeOWVV/gX/+JfcODAAQ4cOMDevXvX8umsa8vV3JRanKKtnYJxw9UDXR7J5bvrx7Zz6/XDvPDaBN968VS3hyPEqpM5fWOQ97E3rVqwXK1WOXv27II/L7zwAnv37mX37t3cdtttvPjiiwt+5vvf/z5RFPHe976Xu+++m0qlwpEjR/jc5z7H448/zo4dO3AchziOgSxY/sY3vsGHP/xhvvjFL6Jp2mo9nQ3nUuowi83t1WMzALxjHQbLiqLwq79wC6ah8Z/+5ofUmrIqIzY2mdM3Bnkfe9Oq5Sw/9thjPPPMMwtuU1WV973vfQDYtk29Xl9wf/vfjuPgOE7ntj179nR+5/e//33+/M//HN/3ueeee7jjjjuwLItf/dVf5dZbb+W9733vBcd18ODBFXl+q/X7rtSljmemkeAFi6sF2KZOZXzlvkOtx9dn//79azCSi+v2a/f8DycBcGePc/DgyUv6mW6P+Xw/9c4CX3+pyuf+/Jv8/LuuLOjvtecGvXGsrtbr0ouv93y9Nr6l5vRXX3t1xef0t2MjH6cr7UrOzevlOV6p1XqeFzpOVy1YfuSRR3jwwQcX3PYbv/EbeF52KcHzPIrF4oL7C4VC5z7XdQEoFoukacojjzzCU089xYMPPsi73vUuAB544AFM00TTNAYGBjh06NBFg+WV/NAePHiwJyaBtssZTzsv6nwrWY5mPb8+vaCbY43jhDNP/1d2jhX5yTtuu6Sf6cXX99ZbEw5PfIuXjlT5hZ+5lVuuG35bv6cXn1uvWI3Xpddf714c3/lz+quvvco7bniHlBib02vv13Le7rm5F4/J1dCt57lqXzdN0ySfzy/4c8stt/Dyyy9z5MgRDhw4wL59+wBoNBr4vs/evXvRNI1nn32W5557jr6+Pnbt2sWf/dmf8Zd/+Zd85jOf4YMf/CDNZpMTJ06wb98+vvSlL/H8888zMzMjOcuXQeo2igs5eqaGH8TrMl95Pk1T+eQ/vxVVgf/rb14mSWSzn9iYzp/TbVOXOX0dknNzb1rT0nH3338/L7/8Mvfddx979+7lE5/4BAAf+tCH+MAHPsBnPvMZPvvZz/LEE09gGAaPPfYYmqbxJ3/yJwB87nOf43Of+xy33HILX/nKV3jwwQc7mwR/7dd+jXe/+91r+XTWPanbKJbzo6NZpZr1mK98vmt39PHuH9vOfzt4ku++coY79m7t9pCEWBXz5/TKuCrz+zol5+bes6bBcj6f5w//8A8X3d4uEQfwkY98hI985CML7n/++eeX/H33338/999//8oOUgjBD96YAmDv7qEuj2RlfOS91/OtF07yn//hdd510xYURen2kIQQQqwT66d4qhBiTcRxwg8PT7FlKM/IQK7bw1kR20eK/LNbt3PkdJXvvnK228MRQgixjkiwLIRY4I2TFVpexK1vczNcr/rIT1+PosCX/7/XpVGJEEKISybBshBige+/npWMe7uVI3rVjtEi77ppC2+eqPDy4cXdQ4UQQoilSLAshFjgpTcmURTYe+3GyFee7767rwXgr597o8sjEUIIsV5IsCyE6PD8iNeOzbJrW5lSfuPtxt6zc4B37hrk4GsTHD1d7fZwhBBCrAMSLAshOn50dIYoTjZcvvJ87dXlZ/7bm10eiRBCiPVAgmUhRMeBH2WVIvZdP9Llkaye/TeMctVYkW+9eIqJ2cWdsoQQQoj5JFgWQgCQpinfefkMecfgnbsHuz2cVaOqCvfedS1xkvLMc7K6LIQQ4sIkWBZCAHD4ZJWpqsdtN46iaxt7anj3vu2MDeb4+386xqnJRreHI4QQoodt7DOiEOKSfeulUwDccdOWLo9k9Rm6yi//3DuJk5Q//7tXuj0cIYQQPUyCZSEEcZLyzRdOkncMbrtxtNvDWRN37t3CjdcM8J2Xz/KDNye7PRwhhBA9SoJlIQTff2OSmZrHT96yFUPXuj2cNaEoCr/yoZsA+I9/9X1cP+ryiIQQQvQiCZaFEPzdPx4B4Kdvv6rLI1lb11/Vz8//1G5OTzX5P//qJZJE2mALIYRYSIJlITa5U5MNDvxonBt29rNn50C3h7PmfukD7+CGnf1868VTPPlff9Tt4QghhOgxEiwLscn95f/7GgA//1PXdnkk3WHoGg/+yrvYNlzgr597k7/6xuukqawwCyGEyEiwLMQm9tpbM3zrxVNcu6OPO/Zu/CoYyynlTR7+N3cwVLZ58r++yn/6m5clJUMIIQQgwbIQm5bnR3z+L19AUeBffegmVFXp9pC6anQgx+d+7d3sHCvytf9+hP/9/36epht2e1hCCCG6bE2DZdd1+eQnP8m+ffv42Mc+xvT09KLHfPnLX+aOO+7grrvu4tlnnwUgCAJuuukm9uzZw549e/iVX/kVAJ599lnuuusu7rzzTr7yla+s5VMRYl0Lo5h/9+QBTk81+fC7d/POXRu3Y9/lGOpz+Hf/2z/j1uuGef5HZ/n0//FN3jpb6/awhBBCdNGaBstPPfUUL7zwAk8//TQzMzN84QtfWHD/1NQUjzzyCJ/+9Ke59957eeCBBwjDkNdee40wDPnmN7/JgQMH+A//4T8QhiEPPPAA9913H7/+67/Oww8/zOSk1EoV4mLeOlvjgf/4Pzj42gT7bxjhlz5wY7eH1FMKjsHv/ps7uO/uazk91eQzf/AtXjne6vawhBBCdImSrtJOlmq1iuu6C2579NFHiaKIP/7jP+aRRx7hpZde4qtf/Wrn/m984xt84hOf4Dvf+Q4nT57kF37hF/jbv/1bDh48yKOPPsqOHTsol8s88sgjAHz4wx/mr//6r9m6dSt33HEHf/RHf8R73vOeZcd08ODB1XiqYoPZv39/t4ewosdqFKecnQ04Phlw+IzH4bM+ADdfneODt/dj6Js7/eJCfnS8xf/znVmCKOXHr8vz07eWsYzeyV7r9rEqc6q4FHKcivXgQsepvlr/6WOPPcYzzzyz4DZVVXnf+94HgG3b1Ov1Bfe3/+04Do7jdG4bGRnhl37pl/j5n/95nnjiCX7zN3+TBx98cMnHXsxKfmgPHjzY9UlgPhnPhfXaeC7m7Y41TVOOnq5x8LVxXnp9ktfemiUI4879e67q55//9PXc9o5RFGXlAuX19vpeiv374afuqPG7X/zvfO+NJsenU/7lz72TO/ZuuaQc7zhOODHRYGK2RbXuY1s6fQWLa7aVKTjGGjyD1bca73mvH0u9Pj5YH2NcSxv9tdgs73e3nueqBcuPPPJIJ6Bt+43f+A08zwPA8zyKxeKC+wuFQue+9qp0sVhk//793HnnneRyOd7znvfwe7/3e8s+VojNqN4KeOnQJN97bZwXD00wW89WjxUFdo6VuPGaAW68ZpB3XDPASH+uy6NdX64aK/G/vn+UQ1M5/vq5N/l3Tx7g6i0l7rltB7fdOMbYYB5tLnBueSGHT1Y5dHyWlw9P8aOjM0t2BlQU2D5S5KZdg+zdPcRNuwfpL9lr/dSEEEJcglULlk3TxDTNBbfdcsstPPnkkxw5coQDBw5w++23A9BoNDAMg71796JpGs8++ywnT56kr6+PXbt28du//dt873vf48/+7M/4x3/8R2666SZ27dpFsVjkueeeY3R0FF3Xufnmm1fr6QjRdT98c4rj43XCKMYPYip1n8mKy1tna5ydPpdT21eweM+P7+DH9oxw6/XDlAtWF0e9Meiawi994Ebuue0qvvz1Q3zzhZP86d++wp/+7SuoqkIpb+L5EV4QL/i5bcN5brxmK1uG8vQXLVw/Zrrq8saJCq8fn+Xv/6nO3//TMQC2DOXZPlJgdCBH3jHI2wa2pbNlMMet14+s/ZMWQggBrGKwvJT777+fl19+mfvuu4+9e/fyiU98AoAPfehDfOADH+Azn/kMn/3sZ3niiScwDIPHHnsMwzD41Kc+xb/9t/+WD37wg9xwww38+3//7zFNk8cff5xHH30Uz/N46KGHGBoaWsunI8SaCaOEh774T0Rxsui+Ys7kluuG2Lt7iP03jLJrW3nTl4FbLduGC3z6f97P//Jz7+TAq+N8//VJJisulYbPQMmmnDe5ZmuZa3f08c5dgwxcYLU4ihMOn6zww8PT/PDwFG8cn+XAj8YXPU5R4D8/+gFy9sZI2xBCiPVm1Tb49SJJ8heXqtu5X3KsikvVzWNVjlNxqeQ4FevBcsfppgqWhRBCCCGEuBy9UwNJCCGEEEKIHiPBshBCCCGEEMuQYFkIIYQQQohlSLAshBBCCCHEMiRYFkIIIYQQYhkSLAshhBBCCLEMCZaFEEIIIYRYhgTLQgghhBBCLEOCZSGEEEIIIZYhwbIQQgghhBDLkGBZCCGEEEKIZUiwLIQQQgghxDIkWBZCCCGEEGIZEiwLIYQQQgixDAmWhRBCCCGEWIYEy0IIIYQQQixDgmUhhBBCCCGWIcGyEEIIIYQQy5BgWQghhBBCiGVsqmD54MGDK/r7XnnllRX9fVdKxnNhvTaeC1npY3UtrKfX93Jt5Od2JVbrOO3117vXxwfrY4xrZT3Op5drs7zf3XqemypYXmme53V7CAvIeC6s18az0Wzk13cjP7de1Ouvd6+PD9bHGMXK2Szvd7eepwTLQgghhBBCLEOCZSGEEEIIIZYhwbIQQgghhBDLkGBZCCGEEEKIZUiwLIQQQmwgs3WPaivq9jCE2DD0bg9ACCGEECvnX/7ePxDFKXf/ZIqiKN0ejhDrngTLG1C9FVCpewRhgmmo9BVtijmz28MSQo5NIdZAFKcAnJ5qsm240OXRCLHYejsXSBrGBlNvBYxPt/CDhDQFP0gYn25RbwXdHprY5OTYFGL1xUna+furR2e6OBIhlrYezwUSLG8wlfrSBbuXu12ItSLHphCrr948F3C89pYEy6L3rMdzgQTLG4iiKARhsuR9y90uxFqRY1OI1Vdt+p2/v3pMgmXRe9bjuUCC5Q0kTVNMY+m3dLnbhVgrcmwKsfqqjXPB8lTF7eJIhFjaejwX9OzIkiThoYceYv/+/dx7770cPXp0wf1PP/00e/bs6fz5L//lv3RppL2lr2hf1u1CrBU5NoVYfdX6uTQM149I5uUwC9EL1uO5oGeD5a9//es888wz/MVf/AX9/f08/vjjC+5/5ZVXuOeeezhw4AAHDhzgZ37mZ7o00t5SzJmMDuawTBVFActUGR3M9fQuU7E5yLEpxOqbn4aRptDypd6y6C3r8VygpGnak187H3vsMb797W/zta99jT/90z/li1/8It/97nc79//iL/4iZ86cQdd1fuInfoLPfvazmOaFX+iDBw+u9rB7iqIo9Ojb29P279/f7SFs+GNVjs2V0e1jdaMfp+vRsz+o8q2X65RyGrVWzKc+PEZfvrtVYuU4FcvppXPBhY7Tnq2zXK/Xse1sSd62ber1+oL7f/zHf5xrrrmGXbt28a//9b/muuuu45d/+Zcv+ntX8kN78ODBrk8C88l4LqzXxnMx62mssP5e38uxkZ/blVqN16XXX+9eHt93jn4fqDNY1Km1YnZdewPXbC13e1hd16vv10rp5WNyJXXrefZssFwoFPC8rIyI53kUi8UF9//6r/86AKZpct111/H666+v+RiFEEKIXtLe4DdQ1Dk67tN0wy6PSIj1r2dzlm+55RaOHTvGq6++yre//W327dtHs9nEdV1c1+X222/n93//9zl06BBvvvkme/fu7faQhRBCiK6qNnxUBfoLGgAtT3KWhbhSPbuy/P73v5/nn3+ej370o+zcuZMnnniCj3/84wwNDfH5z3+exx9/nMcff5yvfvWr3HvvvfziL/5it4csVsh6a4MplibvoxBrr94KyTsGjpmthTU9WVleT2Te7E09GyxrmsbDDz/Mww8/3LntS1/6Uufv73vf+3jf+97XjaGJVdRug9nWboMJyISxjsj7KER3+EGEbelYczVrJQ1j/biSeVNRlFUd22bXs8GyWFkX+rbaS99kL9QGU4Ks9ePMVIPpikcQJZi6SjFvYpv6su9jLx2DQqxnXhBTLpjYsrK87rTPf14QUW8GnfkzSROKVw0s+TPtufPMbMiJ8ZrMnatEguVN4ELfVoGeWgFcj20wxUL1VsDpySbtakBeEOMFLsP9DoqyeMqRVWghVo4XxIyYOraRrTS2XMlZXi+CMMELIiZnz3Ve9IKY05NNtgwVFs2H8+fONEll7lxFEixvAhdarYVs5aHRCgijBENXKeTMzn2rtdq33Eqiaaj4weLAuJfbYIqFKnUPQ1cJwoQgjGl6IWGU4PoR1+5YXMLqYlcTVmLVWVauxWaQJClBGGMZ2rk0DFlZXjdMQ2ViJlh0u6GrnJ5skLP1BXNYpe51zt9T9YjxmWbn/H0p85vMi5dOguVN4EKrta4fMlP1Ftw2U/Xww3BB0LqS31gvtJLYV7QX3NfWy20wxUJBmFDImZydajJbP9dNrOmGeEFMvRUsOIYudHyuxKqzrFyLzSIIYwBsUzuXhiE5y+tGX9HmyKnaott1TeHsdIttwwXg3Bw2U2/RbGXveZIknfO3qsKO0Qv/XzIvXh4JljeB81dr299ENVWh3vIJY3DMhYdCreEzUMwt+l0rkTt8oZXEHaOlzt/l2273vZ2VB9NQyacGuq5g6ApRnKJrCgMlm5xlLDqGLnQ1YSVy2CUPXmwWXtAOluelYUjpuHWjmDMZG8wxVXEXXOlttAJMffHV1WrdR9cWh3HB3HFwvvnzeaXuoesaedtY8BiZF5cmwfImMH+1tumdW0ke7neo1n1OjtexrexDY5oaLS+i0fJpeQl9BZOBsoM9F0yvRO7wxfKSizlTPqw9YP7KgxdETMwEHDlVY2wwx9bhxflzbe3jTVNVBkoOAG4QoSgKJyfqWOcF3UtdTWh6IUmqcXaqhTFvg2Db5RyHkgcvNgsvyAJjy9TQtQRdU2RluQddaBFi63ABTV0YGM/WPAxd4dBbM7h+hGPpDPc7qIq25O+3rYvvDWm4EUmSHRvzA2aZF5cmwfIm0P4QVuoek7MBtqlhGipTVZcz0y00RSGOU+Io5cRsg7yloylZ0NzyIrwgYetwHtvULzl3uN4KmGkkHD5ZWTQZSF7y+jB/Z/b8DSdTFbczmS9Ip4gUTozXCMKEJM1O1HGSXR40NLWz4Q+URZf7kjS7fJimKY6to2saqqKi68qCDYLtgPlyjhU53sRm4Qfn0jAUJSXvGJKz3GPOTjc4eqq2oFJQe36av1A0P5jO2xqHT9UJoxg/jJmYdTk12eDqrUVG+4vUmwG6qmGbGsW8SSm/eCHj/Ctspq7iBTGNVrAgWJZ5cWkSLG8S7Q9hlqecBT/Vho9lakzM+nh+RN4xmKl5NC2da7aWiBNI0yzwPX42Ie8YjA3mFuWcnq/9DdYLItI0y4V660yNKI5xvYggTkgT6C/ZCz6kV5qXLJsVVlZ7haHeDObdFlOpe4RRQrXhcf3Ogc4mvJl6wPDcpO/6MVGc4gchMzWfOEkpOCY522C4P1ttbk/e49MtVEVlqC9L+xmfaaIoIW+dCag2faIoob9sYzc1bFPHCyLiRF3yi9hSJA9ebBb+XM6yZepARM42aEmw3DPqrYDDJ6uduXW24XN6qkEpby2YT9t/OmXhpltMVZtU6gFJAroOBcek1gjoK4QkaYrlaCRpSpykS85t568YF/MmXpCle7S1r+hd6ty6mUiwvEHUWwGTtZTv/PA0aZoyUHaWvFTe8gJeOTzDVNWl5YXZKp6uQJDScAMURSFJUiZmXLwgIkpSoihhy1COG68ZRFPVBYHHUsHp+d9g/SDi+Hg9C8jtbKXD9bONXqODDlsGC0t+KC8n+K23Ao6cqi6o6jFT89m1rSwf9repvSIbzE2mQRgzW/dJ0oSk6jJVcfHDmC2DeWZqHtO1mMnZFpqmUKkHzNRbnJ5q4HkxipJiGhp502RitoGqaDi2xkDJAlRMXUXTFFpexGtvTdNoBgz1y1bODgAAIABJREFU5bBMHUVRODPZRFcVhv5/9u48SLK7OvT89+735lZ7V29SqxvLAmRJyDK2BcwLQAxixgYCCMATQsY2tiFMiIcchLEAgVBANCKEeUgPCExMPDPCwxAjaC9gAw5E+HmwDaIFAqQWi1pSq7faK7e7L/PHzcyufeusqqzq84kgUGdlZf4y695fnvzd8zun3yZJM4jzleh8dabB4QMV9g6VlnwdS63UyIeA2I3aaRi2mV+eL9o6U9Wlc/bF1msvNECemlZrhARRTNOLmK56nJtsYBgalqGTZQlpplJydGYbAdV6SL0Zda6+aUpMwws5P9XgzHiDc+Me081xfuWyAY4cWFx1KEnTRbXvRwYcqg2fiZlmZxErsHWSJFvT3HopkWB5F6i7Ic+cq3F2ykWxQ2YbAY8/NU2xYHD14UFGBgpEccq5qQZPn6nxzPkaDT/C82KiNKFoG4z0ORiGRhAmTNd9zk+7ZGRoqBRslaZv8MtnqzS8iOH+AmcnGvPyqubupG1/g01ShYkZl/EZl2ojQFUVojgly0BT89SPOM4w9Hwj1/i02wlkgHl51o2p/Bv5/pHikvUmz040lqzqYZsaVx1aupi7WFl7RbZ9uc71I6I4Ic0yVEXFNjWqjZCfPzODHydMTwWk5jSuF+OGEdVaSJjEkClUGwF9ZQsvaFApmFimxp7BAqfO1xio2DTdGC+IMEyVai3AD2MmZwMqZYMDI2UqRYsszag1Q6ZrAbVmgGMbOKaOHyY8ebpK0Vk+113y4MWlwJ+ThgFQdAzCKCFOUnRNLq9vleUWemYbAXU3xPXjfBU3SXGDhDhJsE2dc1MJlq4RxvkVvCSBwQELP0iYrHqtAFYj8yKiKMW2dJ451yBJM2abIUx6VBsRRVvjRddd1hlHrRlyfqpJHOeLFu3UtkrRoFSwKNoGEzMu9SDi/FSNSslcdm69VK/gSrC8C8zWferNkDRTGJ9xqTXzy25xGvDzU1XOTrjsHS5y6lydc1MuEzMeigpBHNPwYsIopVIw0UyVsakmmZJRbfhkGRiqCpg8faaGP5ISxAluENNsBiQJxGnGQMVi71CRwYrDbN3HNFSqjfyyfN9QkudFeTFhFDM6WOy05YziFNePefJ0ldHBInAh6E6zFFVR521IBJia9VGVxfmy09ULObVzLXe7WF25YNL0Qs5OJDx9vka9lbZTdPL33TI1zk00GJvxKFgaQZRyeryZB7KWStOPqTYCNF3B9/O0DC+M0FWVOElpNiPqXsh0PSCO8mOr7OiMTXlEaYpjGhi6ytNn6xwcLaKQUS7lqzBJArVGiFoGy9CJ4lR2cYtLXhDMTcOAQivNrelF9JWsbRvXbrDWIHG5kmxNL6TRjDB1jWYW4wcJdTcgCPMAOU1j3CCm3miAkm/AS5KEOE3RlbzyhaIohGqCrmuQhZi6Qq0Z5ClvUcps3aPuajzx9DTXXDnaGUetEaIqKkkWk2Ypmqpi6CpeENNv6kzOupydbHZSdjw/6lTImju3Xsrl5iRY3gXCKL9UHkQpaZBfhlMUWgFFgK4qnJ+sc3aiyVTVJwOazQjIUIA4Sjh1vsaRA335JfRGmFcgKFg0vBAvSlCyjKlZlyCMefp0FYDBfhtD12l4EVOzPsMDDiP9Dlfsr8zLczV0FU0DLdXwgxjHNojihAg4NxlRdAxKBXNe/vJ01We4v0DDnV+gvZ0SsDAwagfgCy13u1hd3Q05M95gph5gGxqRpdFwI1RF4eBomSROaAYRhq6i6xpRkqEmKVGcEicZZCkpGaGfoioQJwmgoKoZZHB6ooGigZIqqDpkScpT5+pEUb7K0vRCmm7AZXvL1L0QJcs4M15nth6iKQopGfVmwGCfg6ErPNWqT3qprHQIsVAQtaphGO00jFaw7EuwfDHWEyQuV6ryqTPVPPBsBKgKWKbK5Eycl9bUFc6cq5OkGWGckJF/dumKStMLURRIkwxVyzdxaiqU7LykXNpKlUzT/MotqsL5aX/eOKIk/9x0Wpv024tTT5+rMjnr5QtjrTS4OMlAgfb12HaDqZVe26WwUCHB8g7W/qY7Pt1sXSKHLE4Jgpg4SXFsg6afBy9eGNHwQlwvoOHF+c49pT2Z5nVwnzo9S8Ex8f2EKEshgWJZo1qLcUwV30/Q1BjPj9ENlZoboWsxTS+m6GjEScpgxabhxmh6PmErCvSVTFQFxmdal5HSlFozYrhiE6V5ANVePW5P7lmW4QYR49MuYSsHuWgbnV2+tWbYqbxgGioFW8cLFteWHOyTTVzr1T6ufv7MDD87NUuaptimjq5rJFmIqihMzHjU3YCZeoBCXk+5r2gRZgqOpYECvpugZAq6Bg0volI0yMhoeBFxEpJmEEcxQxUbRzdpKhmk+Q7+hhthmhqqolBtRjSaIVdfOcz4jE+SpkxMu+i6imVqNP2IgYpNpWgRhCknz1RxLI0oTvGDGNPU6C9ZEkSLXa+ThmFpEOdpGCAtry/WWoLE9rz51JnaonKXfhjz7FiDvpLV6m8QEkQR5aJJM4h46tkqhqlRb/U/CKMUx9IJSVAVFcPUSbIUFQ3L0onjDD+M2TtcYGzSJYhTwjjDzFIUBTQ15exEnbobE0UJDS/C0DUKtsHcqnRZlpJl+Q22ZWAaamsjfsS5qQYNN2SgbKOQsWewcEmX4ZRgeYdYeAnI0FUabj4BFhyT2UZIPQC/2UAhI0mh5uaXzX0vv7yjqQpeGDNV9TB0DV2DehIyWDQwbYvZekIj8PIJNojxooSsAcN9FmkK5aJOnCmYpkqWKTSaAYahoioaQZBRc0POTtY5N9lEUTIMXWOgYtNwQ+Iko1KM8YKYMEpwbI0giaGVv+yFMafO1ygXzHylUlOYmvVJs4wsa62eRwHD/TZ+mF/et4z88A3CFFVVKTpzNybkk9W+YdmYsJylLisCnUomp8bqTNfyTXy2oaMbCiXbYLLqEqdZ633PCPwEL4gIgpBKScc2dDQNAj/ON/bpGmVbxzB0qo2AOM7QVFAVBXSNOAE/TTAU6KvYnJ9s4lgaQRSTJKBpCpftKTE25eJYBuNTLl4QYds6QRgTxSmVkkWWZTT9iJmaT1WBpD1/NyPSlHnlmdb7/kw30lWrwAix3eY2JSHON/iBtLy+WKsFiXNXnpcqd1lvhui6wkw9IIhiwjghifJN081mhKIr2KZO1lpZNnUVVWmt6sYpURriGDpunBC6IaWiiaIoRElKlOY56XGcABlplmKaBmMzLk+fbZCmKY6tY5s6MzWfctHM5+SiScHRGZvyCcOEKEkxDIW4kZeLVRUVy9SpuxGnx5qEyRj9JZOSs/gKxaVQbq6ng+U0Tbnrrrv4+te/zqFDh/jEJz7B4cOHOz9/6KGHuPvuuwnDkHe/+9286U1v2sbRbp6Fl4CmawGnztdwLIOinV9WCeIY09AIooxqM2SgbNL0YhqNiDBO8IIYyHBsg8GKhabkeaOlioGiKkzMBhimju9HRFGSN5FAIQ1SdF0ljhP6yiYVK692kQFFx8QNYuIooVI2CMKY6VpAX9GGLOPMuI9VqlIpWpi6xuhgCdtUODvpkab5xr68dJ2LqiiYhkbJycvbJQkUHR2wmZz1MXSVgm0QRilNzyNJM85MNDpBcbsGtGPpl9zGg+WslGO33GXFdq54ww3zEm1JRpJASIKi6DTckLobYeoqYRiTKeB6EZqmksQZDT+iYGg0vJggTlFUFV1VSdKELIzQNAXH0mm4EfuHC8zWA+peSMEu4PoRYZLimBppppAkeWBraiqgcH7Spa+YXwkJ45SomQevcZwwXfXoL5n4QSsPP04Y7nMwW5ej27VE13q5cOH744fxJZObJ3auuU1JQhcKzoWcZbFxq9Vqn637+GFMvZnPj56fl+2rN0NsUyeMUyxTo+76NL2YIEqoNQIgQ1dVCqZO3Q3oL1s0XQiVFMvQMAwNL/CxdZ1UyVDiDNPSKVo6lg6BnxCGKWkGSZqhphmKpuL5ET/62SSzjbzzX6lgoKCwZ8AhSVPSLKPphSQxGIbKxKzbWpjI0yubfoxlqjTcCEVRaAKTMx5koCjqoq5/S5Wq220bAXv668C//Mu/cOzYMb7whS8wMDDAPffc0/lZFEXccccdvOENb+D222/nwx/+MBMTE9s42s0z9xJQe8Nb3mUv7OxWnZrxGZtoECcpGhmz9ZDTEw00PcO2NRxbx7LySzBFK1+R0w2VqbrHbD0gSTLcZkjSSs8wNBW9le7rhQkpcHaiiRdEjAw76Fp+IgHohkrQqqubtjIhTFPDcTSCMEZVFWxTY2TAIc2UTvehvpKFbeoUWt2GbFPr3C8jz7+6bLTCVVcMMDLgYBoqUSfwz0vc+WHCxExe5k5TVS4brfCcg/1cNlrZ0SfmxWoHe0GYdmpdj0251Fs54MtdVjwz2WB8psnp8QZRkqJqrc2YrZWLaiMgiRMyFDLyVrrT9YA4TUjSlCSIW5tIfWarPqRpXoIwgxSVoYqNH0VoukK1GeCFCf1lmyhJCJK8NJ1j65i6im2oWIbCQMmiWg+xLY3ZesBUzSdOM1w/ptpslVNK8xzoiWqef+eHMTP1gLBVdzbqlL9b2+XClS67CtGrgoXVMFpBjdRavjjL1WRv315rhq3PoQRT1zBNjbob4LaCzr1DBYq2ia4rNLwQP4hJ05QgTknSfMNdpWAxNp1fySOj1RAszgNoL6bRjIgTUGjVQwYS8moaWZqnKmZZRhDl/QxcP3+OhhsyU/Wo+wFeFHfmwobXeow4o69oM1ixGSg5hGFCwdaZbYSgqCQpuEHeCCWKUxxLwzJVlFbe9ehQobP579mxGk+enuXnp6Y5eaa67OfPTtTTwfIjjzzCFVdcwa/92q/xohe9iB/+8Iednz355JPMzs7yspe9jJtuuok4jvnJT36yjaPdPHM/4Nsb3nQtDyYVBepexEw9QNdVojhD0RTcIM5LcnlJfqJ5IaqS5675QUKmKqQpqEp+Yg+WTQxTRUVBVVUMTSFIMnRdRVMgiVN0XSNNU/odm8GKhWlqlB2TkX4by9LQNa2Vg5xP1q6XUK2HNNyAc1NNnjw9y/kpF01VOt3cvDBmpvWtfKBiUXCMfJVYVzsndcEyGB0scnBPubMZcKF6M7wkLgWt1WrB3lJBY9OPqNVDwigvM2WoGmRQdDQsQyUlX2W2HAM/jAnjuHMMun6Cqqlg5GWPkjQjAZLsQqBa9/LgWCHfnDc+6+MGEdVmQBhlZCkc2FPqXILsK1mUHZMoTfONLUGCbqg4hkaWZnnpwiwP5r0owVC1fHMK0Fe0Oq8J8suZTT9itu7z5OlZnh2rrThxX8q5eWLnagfLnQ1+TjsNQ3KWL0a5YDI6VFgySATwg/nvr2PqDFYc+ssml41W2D9SylMqwpSibVIpWtiWQdE2KBYtCpYGZJ0reQB+lND0w/yKq63TVzYxNBVVUfCjFC9MiKKMvpKJoir5QpmmUikY+H5CEMY0mmGeMhfl1YdmawFekC8yTM76RFFKqZDnKitKnkLSV7ZRobVKni845BlzCmGULLkotXBxZmrWZ7rqL0r/2cmLDT2dhlGv17Ht/JubbdvU6/XOzxqNBgCO4+A4Tuf+qzl+/HhXx7iRxwtjhYafdHJrS7aGqWfL3n+6ka/OKShM1vNvi3GiEKcZzarCTD1hqhZjWTpjMx5hmOdwjs/6JElCpWTnwYyab6Y6NVZH1zS8LCKIU7xIIy2YpEmGaahoZGS6SsnJc6zKjkHB0rB1hTAIOTc2Sblo0GdG6FpEEuQVDeqNACUx8XSfM2d9olTh/OQ0Z8fGyICyY+CHCX0lg/1DFk03pepGeGGGoir89IlZbEOlv6ijqtD0E+rTFwJgVVGI07w+82xzfqCjqyqKX2T89MrBzFr+XjfccMOq99kKGz1WFUXh3ExEmi5+L1RVZeKMwVQ96Vyybau5KRkqUxMRoDI9HbSa1OiEXpjnLDs641N1wjDBKRj4fkgQxhiGiuvH+aXKLM/FC5MEXcs/qFMMTENjtu63Np/q6Gr+gRC1cvT6SgZTVZ8gShiqWDTckDCMsQyVYtFo5chrzDZC+ksWYZygkB/3ahLgNiN8F+pKhmmquF6Mriqc0xV0Ld+4sm/I5qx64X0ZrliYerbonIwShSSZP9GfeOIEtqkzO9Y7X8p64Vjt9py62Y/bLb04vjPnpgH4xc9P0F/UOX3qqfzfTz7D8eLsto1rNx2niqKQZRnjc/59ejJiqhYsuu9QxULx8kZhga8yNlGj3owwDRVVVUhaG/HJMqIkT5XMO9/mKZNFS2N61qfmhwxWHGpuSJbmGzjrzYjCYL5pOopT4lYPA1tXUXSV2ak6YZyhBhGZolAuGNRrDbLYZ3pqhiRNmCqb9Bc1/CCvctTMFDJF5+nzTfzWwkaUJGQp7Bt2IK5jpdPMjs2vMtWOUSD/nJ6qxcRpyllDo1KY8xne+vzJsuXjnbXYrHNvpeO0p4PlUqmE7+ffRHzfp1wuz/tZ+3bPy2vpzv35crp50h4/fnzdj9f+Bjay4Pa531KX+x3IWwG3V7eKTl5f1ploUKx6PHt2kpHBMucnm5ity3COZRJFKUXbQENBUaC/aJGkGXGqoBtq61toQpRmFHQdx1IJopQsS+lzTBRdoeRYmJZO2TE5MFri4GgZ14/x/Ki1mpfhRwl9hXxFzyklPPnMWQYH+mhfwLAMlWFDxTZ19o2WCaIEc9ptfXNVOkXzB4cKHNxTplTIX9/cnKfZuk8Qpnmjkjnd+ob7nVWbj2zk77WdLmasz47Vlsyxs8x8VWBhTi7A6fE6w/2tL57NkL2NfHVgth5QGNUxDR3XD0F1W7nqKf0lDVUNsQydmbpH0bEwWqsUaQCgYuk6mqqiqXm+mx+lRAn0lyzqXkSSgqlruEFKnGYUHZPJap5331e28MKYLFE4ONrH+KyPYWQoqoahKgwNOgxVLPpLNqkCJdvAsQ08P+o0Y9gzWCSOUwxdw9DVzqab9vvRbr4y95zMW2pnncvYJ544wfOe+7wVz9NL1WacU71+rvbq+L75k+8DLr/x6y/glz/7KddfdzX/10P/St/gCDfccM12D29bbebfa2SsxnQtmPeZVCqYDFasefNtpM7kKW5xShDG9Fdsoihl/6jKyTNVwkih6ecb4hUFgjjtdNn1g5i+ookCJFmGY+iYhkbaAFvPrwLaptbqupugqhq2la8G67qKpqmM7uljuhZi6gYHhos4hk5/xSJP7oCpap7SONCfNy5puPkeFMvU6e+z2DNQ5Neu3ruoo9+Tp2eZG/9OzLh5sK3AwT0X4rL258/F2K5zr6eD5euuu44vfelLnDhxgn//93/n+uuvp9lsoqoqR44coVwu853vfIfR0VF0Xefaa6/d7iGvaiN1Cue2662UTBrNaF5ZmlLBpOkFTE/PoFsmaZoHmHv6HTIFml5eSs421bzQeZrXwU2zjKYfo2t5/qmh5kGOpikUDZ1SlqdzOLYOioqmKCiqAmrGxLRLGKXYVmtXraXjWHlv+rMTLiVHZ0+/iVOyaPp5E4msVX4mPy0zGm5ez7m/dOGSeRSneEG8YlAyNuXml6/mbDIYHSps6O+xW7UDwKVuh6VbQO8fKXYavtimzshAAXdPxImTE6Bo6JpCuVAkTWGi6pPoCdg6BTvfMW0bOkVLo+6F6IZKWVPIMgVNVRgdKuA2Q9wwQVPzUnNBnOK0yhWpCjiWjq4qNIOYvpKFY+nUW/XAZ7wYL8zbpQdBTMHSMUsqhqYx1F+gv2RSa8adrn6OmVfeKBcNDu3t4/R4vTOZtzfdQJ5WsdQ5aZs6aZZimXmNUdvUJVAWPa+Ts9zaB9LJWZbScZuqv2wThOmyG9/ac8yBPWWSDLwgyjddZrT28BRI04wgTjCaCp4fo7X2DZm6guulaKpCw4tI0hTbNKiUdGpuiKErKKgk5GkYKNDwI8oFg+l6QJKmOIZOpWgShElebUpV2DdUwtDzjfVxmuJ5IXGrskbRMam5LoqiUHIMDFND11Qu31vqpNXNtXADZLlo4ocehj7/Klx/2d6xG/96Olh+1atexfe//33e8pa3dKphvOMd72B4eJhPfvKT3HPPPXzkIx/B930++MEPMjw8vN1DXtVGcyHb7XovG128y3R0KO8Df+bsWUxnkIYbUmvkmwvOz7jYlk6tEaKoCv0Fk3MTIbqhEccpA2WLLIOBskkcp5QLZqsmo8q+4SKFgs70rI+qKoz0OxQLBrP1iMFKHhyrqkrTjagUDJ5/ZJhyweysalanz1N0THQtX+U2DRXbyKtWHBzNv236c06wduUC21TX9MVhp51sW2kt79PCFtBLrTYXLIOrrhhipjY/7SUIYyzT6mwuidMM0wRD07GsvE0qacpAxaLRjPC8CN1QGbAMvCDCsfK62Iap0V80MQyVgqUzWfVxbJ0MaLgxURJTsE3iJCVMoKKpXD5awTBVBisWRUvnmitHqDUChvryD5Nqw0dBIYximn5+NWa65gEKRdtAVS9cQjQNddlzr52bBzA7tvwxKUSvCFr5pWYrSClI6bgtsdp8255jbFPn8tEy9WZIGKekpNh63v304GiZUsFgthEyPuOioRAmCa4XMTqgE6QZfhCjqjrlgoFlGWRZTKZreCSYpKjk3RuVLMP1E+I0Q9M0VEBVFcIgxjANCk6+SDHcn19lUxSYnHWxTJOx6SZT1QDH1MiyjLoXscfR2TdUoFK0l5wvFy7O5IstDoaeL8AtLE3atpM6APZ0sKxpGh/+8If58Ic/3LntgQce6Pz3TTfdxE033bQdQ9uw1UrQrMXCIKft4IDOyP5hgjDmF2dmOH2+QcE20LT8gz5LoWiruG5IpuY5xkVLb+3KTUgT0HSNUkmlaOkM9NlUCha6qjFQtCmW8lI4uhYTxQlNP6FSsDB0lb7ShTG1TxzHzIugt2t/tr91l1q1lJM0Y3zG7TQcaQfLg33Ohl6/mG+979NyE/4oBU6eqXYuMQ73O/SXLZIk5ckzVRQUSrbJz545j1Ms4PohhgqqoaPpOqVifuXCD2KKBZP9wwVSMmrNPEdvqM/Or4Kg4NgGY1Muk7MeUZxgGRppnJcS7HN0gihD1xMOjZQ5MFzGMlSuPjLMs2M1zk02qTcjojjLV1sUlfOTLrqmYVsGtUZIGAXstbROmadS0SAMEyxT76w2t8mGUbHT+GHcagaVfyEsSum4LbPSfDv3c9+eM9fMTQMDOl1r+4pmfvtMk9PnG6RZhtIIGOq3URSVwbLN3uECXhhz+lw9T3vL8jJwpqFQsEy8MEEz8hKxlqljmTppklEsqFSKJk0/wj2fl5wdKJudqxKKkqdrNv28+oZjqqio1N28OkdfafFrXOqzY3RocUWqZ8dq8/7dnocnZpocHC339MJXTwfLu9Fql8cvhqlnjA4V+OkvJwiClJGBQp7D1GpfaagKYzMeB0dLTFc9rAGbejPCMDQyMhxLIwxjfuWyfhxHp9wqPr53qICuazit4urD/TbT1SCvmNCqfzxVDTpNG9oHe7mgsXekQLmgEyYppqYy2OfQVzJpuDH9ZZuaG+H5EbONvOHIcH+B/SPSSGS7LDfhHznQt2QDk5F+h5Pn6oRhzEG3wEB/GS+M8IMkb23uGKRJhqYp+eQbZ2St4DpOMuI4Q1cV+is2YZzX9E7ilCCKcSyNomPQDBIMPd9EaFs6/SULDZUsu/DFytBVnh2rE8V5rkUSJtSaPral4/kRgxUHShAEMWmSUm0ElAomjmnkaSUz3rxcZujOOSnEVvKDZN4xrGt5LXspHbe9VvrcnxtoKkreB2FkwGFq1mekr4jvJ4zNNLEsA6dgYOkawwMF9g8Xma35BEFCNt0kSpJW3wWNwf4CDS9CV0NUFYb6HJI0o1TRAYVKwWyluOUqRYMoSTuVOAxN6XRSrRQtyq3OufVmyKF9S+ccr2VxZu6qtB/GTMzk+80UpfdXmSVY3mKbnUZQLuSdffYM5Dm8/SWL2UZAlsG5qTpBEFHzIkb6bMIwxvPy+sRZlmJbBiP9Dqahc3hfP9demW95OjfZ4OxEs7WRzqbaCCkVTIb67M6mPENX5+VdlwsmgyWVa56zcCvjhW+XCy9JlRydIwf6evJEudQtlbIxW/cpOCbPv2KALIPInaF/qJh3jQzivFlILSBKUgq2gdkI8+5/WYqi5WkOlYpJf8XCCxIKrXbmhq5w1RX9TMz4nJ1oUCoY+EFC04uoFExGBmzKRYPBPrvzxSqK01bufp73buoqRdvEtnR0TSFJM8jyqxpBlLJn0OoEFe0rHkEY41i6pPaIHStPj9Lm3Va0dZqSs7ytygWTphdyZrxB04spOjoH9pTmfV4unF/PTbqtq7ZWqxJURqmg41gGgxWboq3T8GKKjsn+EY0+p0aqOliGSsFSKTkOrmNQcPIAOc0yHFNnoGISxQn1ZkBG1pk3h/sLTFc9So7ObD1goGyzZ6BA0TbIyFN6SkVj1XlxpZzkuSvs9TkVrebmNq+1cdRWk2B5G2x2GsHcsiymodFfspiYdanWQ1Qt3xU7VQ87G/YaXkRfycQy21UwMp5zsK9TPxFAU6HaCNC0vEbyYOVCoAx5ELLWGrRz7zf3kpSi9OY3SjHfwtxmRcnz0i4bsdh3cAAAN4j4xTOzhHHayZs09PyDO4xTXC+k6BgorcfLsoz+soVlaOwdKjLUV2DvUH7J78TTMzi2wcigQ8WxaAYxw316p/EC5MdUyTEw9Qu3ZfgkSUaxZFJvBp2ycGGcLlpJLtoGimLwnIP9W/AOCrE5gihh0Jm/yazoGFQbO7cZxG5Qd0MabkxfyaavdeG04cbUnXDJz7xywWTvUIHJ2bzbbaVkUnQMLENHUfOcdNePcb2QJM2wTJ1GljBQsfK0MsPgVw/1tRo3RQRhHlQnSd4AxUtSysULbasnZ32G+h2GBxwsvUScQpLkc6qht9M5Q+/OAAAgAElEQVQj7c5m/Lmva25gbOgqDffCF7OFq8VzV9jDORsF5/ZOWGscsdUbBSVY3kXCWOHZsRp+nHdCm5sHPFX1cUwNv30gJilBlm+wqxTNfBNVDAPlvIte04v52TPT+WbB1uUaxzJQFMicvC1mO3G/6Jit51pbjmc38rbF9lmuoosf5lVM2pcTR4ccVDXvRNXw8woUfYpKEOUbT1RFIUkhjTOCMGFy1kNRFPYOOfhhjG3qDJQdnn9EpdEMSZKUph9SKlrYpoqmqp2J1zTyUk3TVR8vzEsa+kFewzmI4s4m0yBKgQyvlSs395K1HH9ip/PDZNHKcsE2ODfZJMuyTi6z2FobqYK1f6SUN17iQgDZLrOapfl8VXBMpmp+vnClKFhmvn/oiv0VLt/bR7URYhp5V9Msyxe8JmZ8bEujXS4O8pXdejPk8r1lLhutYOgqjz81Ta0Z4lg6/WUT14vIh1PD0FWqjZDzUy6mrlIummSZzumxBgXHWFQVpP06515Zt4x831KpYM67/1rm4YULNluRwiHB8i5xfqrByfMegZ5vuFIVaHghVqwRxAluEKGpKnEcoypgFkzCMCbU1NYqcZ63HEQp5VJeIWNy1mNs2qXkmJ3LJFnGhc0JhtZaJYxa5cHWVj9xM/O2xeZbmHfWTqOZqucJb+26okma4gUJ1UYelFqGjqam+FFMwdSI0vwKiKKAG8RESb55sFTI64BnWUqj1fQkb16Sd5HMUjg35TLYl68Mz9b9TukmP4iYqfvESYZj6wzbJqcnXNIsr5ns2AaakrecXa7MkxA7UZLmzSkWblQt2gZxkrdBXvgzsTU2UgWrHfQladoJSjUVktavlAomQ3FKtRnkpebUvKZ9f8lioGQxU/N57OQUbhDTV7SoFC2KjkHdC1uNVS48V8E2iOK0U9otSeHgaJmGG+ZVtaZcDu4p4ZgG07WA6aqfL5xl+Rc0P/TYM+DkFT7cxXPr3NfZDpovJg7YyJePiyVnzi5Qd0OeOlMjiJLOCVCw89xPN4gZLNtUCibVRoRpaigqnc1XRcfA1FXiNKXsGAz2OQy2DtYoToniFNeP6Jtz+SWKU9Is6/SiT7MszwldIyn/trO1rwzM3aABkCQJY1MuTS+/5KgqKvuHi9TdgGojRFUyDowUGe6zaXgRMzWf/n6LphvhBgmQ/7xo5+20x6ZdXC+m4Uboqko9iPLju5AfQ+2V4TBKO8dOteEz1Od0Vjumqj5DlYwkTfNNfi0lxaTk6PPKGsnxJ3ayoNVBbVHOcistw/VjCZa3yUavppYLJlcdGmT/SInZus9TZ2qYhtJZjfWDCMfUUVHIShr95bw61XTNZ7oWMFXzSeIUP0gI44RfOdiPZajM1INOgGwaGkVbZ6jf7pR+BTq9DCZm3FYH1PwzvtFKzaw2AipzUjlqzRBTz68cruV1bjQOUBRlwyV4L4acObvAbN2fl/8D+WUV01DRNRVNUxis2FQb+eqyZqpYrfqyhpmXiCvYOvVmXnaovfPV0PMcpChOO98iIb8U1F+2GB0sLhrHWgMOKf+2c7VXBOoLWo47rQ/pM+MN+kr5Fy7L1Nk3VGKgnGCZKnsGioxNN7FMnZFBB0vXODPRpFKCvpLJUF+hE4TP1D2Ktsm5yWary59CGOftYPcOFjvHfHsibq9W9M0ppmK2qrXMLFiJKDkGv3poUI5BsWt0GpIsCIg7tZa9iMGKXD3ZDhd7NXXu5+XcoDtOMgYrNkmaoSezjA4WcP2IU+frmIaOqWtErQ66mqqSJBmDfU7ezW/B53e7sdfCgLM9z0YL/j/NsvlxQZwy1GeTNha3/V7udW4kDsiybFtSOSVY3gXCKO0UoZ8ritO8H7ybl84KW5dsgiDBNPID9MjBfpI4v3yXOTDQZ8/rDNhwI7wg7pwQigJ6q5XnUuMQu197cpuYaaIodFq7Nmbyg6TpxfMC1nY3p/bx0c4tHqrkaRTtS3mDffmE2g7CFfLuUgMVm2ojQCFvmZ5XrNA6x/zciXjpTlIJo4OFTtqQqascPrC4BqgQO1m7nr1lLKyG0aq1LOXjtk23rqYuDLrbK8MjAw6ZpzEyUODE01N4QYJp6DiWThTnf/eGm6fL2abO8EGbKE5XrVgB+YKD3+r8B/l8H0Yp/a10zbn3W+2xu2U7UjklWN4FTEPtrAbPZegqB/aUePJ0lSyDvYPFTnMSlIyio1MuWK0TTkVTlXkd9Yq2wd7hIqqS0fRisizr1LVtbzxYOA5xaSgXTA6Olpf8dl905k8r7W5OQRijKDBYsRgddDoT6lC/jRcknQ/19kpGpVX8vj0pa6pCX8nsdCkb6rcXtaBeqZOUrqmSciF2Lb+VhmEvl4Yh5eO2VTeupi4MussFo9NQKW1Frmma90wAMHSNShG8IG8AVXL0RXPmQgvn0PZiR3uBrL3YMTJQIEkzml7YmcdXe+xu2Y5UTgmWe8hGS6G0NzcNlk1sc/7q2d6hfInvqTM1VFXBsjQ0BabrIYauLdqJmqQplqnOa6W9cAxLtUVuj0NcOpb7dn9gT2le+SDIg9ZD+5ZfzZ177JccHb1Vrmi66rc6TFmdEkmH9lXYP1Ja8rGWmkRLhQsrHSvZ6lJEQnRTOw1jqTrLICvLu8XcoHupz+K+soWqKTRbc7Chaxi6xsiAvSj1bKU5r317X8lkuP/CHNpe7Kg1w3yjH7BvuMi+4aXn5M2y1amcEiz3iIsphdL++VO2xp7BwqKDfu9QiaJjcn6ywZmJJqqmsm+oQNOLma76BGFMkmSEccreocKqQYJs0BOw+DiwzQurFnVn9cBzuYl64bnQcEMUBfaPrG1CXunDZLnzajtKEQnRTZ2VZWtBzrK0vN615s7BqqpimSrPPTTA2LTHTM2n2ghIs4z+ksXzDg925tfZus9sI6DRjCgXTWxTXzTnrTTvtetGD/cXOrft9vlSguUecbGlUNod85ZrqlAumMxaOgf3lDu3FeyY6arH6fE6o4NF+svWvNq1qwXMu/WkEGs3r3bmmLpsR6qF1hKczm3/utEvY2s9r7ajFJEQ3RQsl7PcqYYhwfJu1J5rJ84YXDaal28tOiazFWvFhYhaI0+f8MP5DZrWMuddivOlBMs94mJLodTdkOlGypOnZ5ddyVv4WLapY+gagxXnoipbCLFeq0227f+1V0HGp91OPeX1HJdrPa+2oxSREN3kd6phLLfBT3KWd7O5nXuXW6yYO+9GcypozW3QtJY5b63z5W5KbZMdWT1iuc1x6+lm44d51Yr2Kl27VfVKjxXG6by+7J3bJUgQm2gtk237uA7CdMXjeiVrPa8u5vwTohd0qmGsUDpOXNrmzq9zP/fnlp5dy5y3lvmyG/N3L+nZTwLP87jtttu4/vrreetb38rU1NSi+3zqU5/iqquu6vzvRz/60TaMtDuW2xx3sd1sVnssc5kycBIkiM20lsl2rcf1StZ6Xl3M+SdELwhWqYYhG/zE3Pl17uf+3NKza5nz1jJfdmP+7iU9GxF96Utf4pFHHuHBBx9kenqaz3zmM4vu89hjj3Hrrbfy8MMP8/DDD3PNNddsw0i7o1wwGR0qYJkqigKWqa65DMtaL4ks9RyHD1QWtaYECRLE5lrLZNuN1Ii1nlcXc/4J0QvandOWancNUjpOzJ9fi7bBYJ+NaahUSua65ry1zJe7LbWtJ3KWq9UqnufNu+2RRx7hmmuu4TnPeQ4vfOEL+eEPf7jo9x577DF+8Ytf8O1vf5vf+Z3f4T3vec9WDXlTbHTT3Hq62Sz1HGupXLBea8mhFpeutVRUWem4Xk8u3FrPK9m0KnYyf5nScY6Vt3WXlWWxcN4drFgcObC4POxaH2ul31s4fzf9iIYboqnKjowJeiJYPnr0KMeOHZt3m6qq3HzzzQDYtk29Xp/38yAIuOmmm7jxxhuxLIt3vvOdvOAFL+AVr3jFis91/Pjxro6924+3EWGsMFnLW0yeeOJE5/bhisX46Wy5X1tEURSyLGO8i+N5/MT88Zj62sezGdby97rhhhu2YCSr64Vja702Mubljru5x9FcfUWLanPx7Zt9fPXi36MXjtXNel968f2eq9fGd+rZWQBOPvlz/Jk8CGmP0dQVJqdr2zbm3Xyc9pL1vMZufd4vZ+78HcUKs63OrINlk4nz+Ty90Tl7s/6WKx2nPREs33333dx5553zbvuLv/gLfD/PbfF9n3K5PO/nlmVxxx13YJommqYxODjIz372s1WD5W6etMePH++JSQDyldz/fPhRjjznym3/1vbsWI2RMOXEEyd43nOf17ndMtVOaZvt0Et/r7XYSWOFzXl/l1pBnq37S644b+bxtdOOna20Ge9Lr7/fvTi+/zj5I6DB9df9Ggf3lOeNsfLPU6TsvDmlm3b7a+/FY7I9f58eq7MPpVPTuW0jc/Z2vc6u5iyfOXOGP/zDP+SVr3wl4+Pj/P7v/z6nT59e9fdM06RYLM7733XXXcdPf/pTTp48ycMPP8z1118PQKPRIAgCnn32Wa6//noeeOABvv/97zM9Pb2jc5Yv1tw6y5eNLt8pbSvstlwlsX3KBZPLRivzjms5voRYzA+WzlmGPD/VlWoYYou15+89g0VGBgqLjs2dNGd3NVj+4Ac/yNve9jaKxSIjIyP87u/+Lu9973s39Fi33HILv/7rv84b3vAGBgYG+LM/+zMAXvOa13D//fdz2WWXceedd/L5z3+e22+/nXe96138l//yX7r5csQGSRkusZnk+BJisSDKN/AtzFkGKBUMmn5Mkm5vGpy4NO2GOburaRgzMzO85CUv4d5770VRFN70pjfxt3/7txt6rGKxyH333bfo9oceeqjz37fccgu33HLLhsd7KdvMYuH9ZXtRv/r27eLSIMeXEFtruaYkcKEihudHS5YKFbtPLzUE2Q1zdleDZdu2OX/+PIqiAPCDH/wA05QTs9espdXwxWg/xlNmvgt7u09UsbW26vjqlQ8CIXpBECaoqoKuLV6ta9dabngSLF8KNnsOXq/dMGd3NVj+y7/8S97+9rdz6tQpXvva11KtVvnUpz7VzacQXbAVfd3n5lCLS8tWHV87aaIVYrP5YYxtap3FqrlK7cYkkrd8SdiKOXi9dvqc3dVg+dChQzz44IM8/fTTJEnCkSNHmJiY6OZTiC6QDVJiM8nxJcTWC8JkyRQMuBAsNyRYviTIHNx9XcmuPnfuHGfPnuWWW25hcnKSYrFIpVJhbGyMt73tbd14CtFFuyHZXvQuOb6E2Hp+mGAZS69/FWVl+ZIic3D3dWVl+b777uN73/se4+Pj8zbc6brOS1/60m48heii3ZBsL3qXHF9CbL0gjKkUl77MLcHypUXm4O7rSrB89OhRAP76r/+aP/3TP+3GQ4pNtBuS7UXvkuNLiK3nr5CG0QmWpeX1JUHm4O7ras7yG97wBv7mb/6GZrNJlmWkacrp06f5+Mc/3s2nEV2w05PtRW+T40uIrRMnKUmaLdmQBCRn+VIkc3B3dTWB5fbbb+fEiRP8wz/8A57n8c1vfhNVlRwZIYQQYrO0aywv1ZAE5qwsuxIsC7ERXY1kx8fHueeee3j5y1/OK1/5Sr74xS/y+OOPd/MphBBCCDFHEC7fvQ/m1FmWNAwhNqSrwXJfXx8Ahw8f5oknnmBgYKCbDy+EEEKIBS5071s5DUM2+AmxMV3NWf7t3/5t3vWud/He976XP/qjP+Kxxx7DtmX3pRBCCLFZ/CBfWV5ug59j6aiKBMtCbFRXg+W3vvWtNBoNDhw4wF/91V/x8MMP8853vrObTyGEEEKIOYJo5ZxlRVEoOoZs8BNig7oaLN9yyy388z//MwBXX301V199dTcfXgghhBALrLbBD8CxDVw/3qohCbGrdDVYfu5zn8vf/d3fce21185Lv9i/f383n0YIIYQQLe0NfsvlLAMULJ2JWW+rhiTErtLVYPnRRx/l0UcfnXeboih8+9vf7ubTCCGEEKLlwga/FVaWLR0viMmyDEVRtmpoQuwKXQ2WH3rooW4+HJB3B/za177Gd7/73SWf7+677yYMQ9797nfzpje9qevPL4QQQvSyoJOGsfxHumPppGlGGKdYxvJBtRBisa4Ey3fccceKP2+3w16PmZkZ7rnnHo4dO8bw8PCin0dRxB133MFb3vIW9u7dy1133cXLXvYyRkZG1v1cQgghxE7VyVleIQh2rPzj3vNjCZaFWCcly7LsYh/k2LFjK/78da973Yo/r1areN78XKpTp07x4IMPUi6X+cY3vrFoZfmJJ57gta99LV/5ylfYv38/N954I5/97Gd5+ctfvuzzHD9+fJVXIgTccMMN2z0EOVbFmmz3sSrHaW/415/W+M6Pa9z6smGes2/pcq1/95/T/Oiky7tevZfBclcvKq9KjlOxE6x0nHbljHnJS17CyMgIZ8+e3dDvHz16dFHAffToUT7+8Y9z//33L/k7jUYDAMdxcBwHgHq9vupzdfOkPX78+LZPAnPJeFbWa+NZzU4aK+y893c9dvNru1ib8b70+vvda+P76fnHgRrXXP08nnd4EFg8xh+c+jE/OvkUz7nyuRw50LdNI90+vfT32gy9dkxulu16nV0Jlj/wgQ/wuc99jre85S0oisLcxeq1bPC7++67ufPOO+fdZlnWir9TKpUA8H2/sypdLpc3MnwhhBBix2rXWbatNaRhBFI+Toj16kqw/LnPfQ7Y+AY/0zQxTXNN9202m6iqypEjRyiXy3znO99hdHQUXde59tprN/T8QgghxE7V7uC3Yp1lCZaF2LCuJi7V63U+/elP8/3vfx9d13nRi17E29/+9k6aRDe84x3vYHh4mE9+8pPcc889fOQjH8H3fT74wQ8uuRFQCCGE2M2CNWzwK0iwLMSGdTVYfv/738/Bgwc5evQoWZbxla98hTvvvJN77713w4952223cdttt3X+/cADD3T++6abbuKmm266qDELIYQQO9mFOssrlI6zJVgWYqO6Giw/88wz3HfffZ1/v//97+fVr351N59CCCGEEHP4nQ5+koYhxGZQu/lghw8f5pFHHun8+4knnuCKK67o5lMIIYQQYo4gTNA1BU1b/iO9veoswbIQ69eVleWXv/zlKIpCEAR885vf5MiRI6iqysmTJzl06FA3nkIIIYQQS3CDGMcyVrxPJw3Dl2BZiPXqSrDcziP+2Mc+xh133NHpPZ9lGe973/u68RRCCCGEWILrRxSdlT/OJQ1DiI3rSrB89OhRTpw4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vFoWzqkk6LdGOcLJa3ptCbd/43Te3bGfN95tZk9rEg2oLg+SS7Ry1pL5TKuJYJkfJbyZnMO2XZ1s2d7On7a3sWV7O2vfaBywJN2UihD33XjOIT0V0JRSajgObjxYv359sUMQ48TixYuL+vNlrIqDVcyxKuNUHCwZp2I8GGycTqpkWQghhBBCiEMhC2+EEEIIIYQYhCTLQgghhBBCDEKSZSGEEEIIIQYhybIQQgghhBCDkGRZCCGEEEKIQUiyLIQQQgghxCAkWT6AdDrNddddx8KFC7n88stpa2v7xHsee+wxTj31VJYuXcratWsBeO+997jkkktYsGABX/jCF9ixY8cRxeG6Lt///vdZvHgxF198Mdu3b+/3+bVr17J06VKWLFnC448/ftCxj2Y8zc3NLFu2jAULFnDBBRfw9ttvFzWeHqtXr2bOnDmsW7du2OKZaMba+Bsuhztuli5dypw5c5gzZw7nnnvuaIc94Y3ktWI4rVixgtNOO63YYfQ60HgW49uR/J0bTw50nA8//DCnn346J554IrfccgujUgFZiSH99Kc/VUuWLFEffPCB+uxnP6uWL1/e7/MtLS1q7ty56vHHH1f33HOPOvnkk1Uul1OXX365+upXv6p27typLrjgAnXdddcdURzPP/+8mjdvntq0aZP6yle+oq6++urez+VyOXXyySere++9Vz3++ONq7ty5at++fQeMfbTj+e53v6suvPBCtXPnTvWVr3xFXXTRRUWNRymldu7cqU466STV0NCgXnvttWGLZ6IZa+NvuBzOcbW1tamGhgb15ptvqs7OThWPx4t4BBPTSF4rhkN7e7v6zne+oxoaGtSSJUuKHU6vocazGP8O9+/ceDPUce7evVvNmTNHPfnkk+rll19WDQ0Nau3atSMek8ws99HZ2cnevXv7/duwYQPHH388s2fP5qSTTuLNN9/s9zUbN27EcRz+4i/+grPOOouOjg62bdvGnXfeye233059fT2BQIBCoXBEsW3YsIEZM2Ywb948lixZ0i+OrVu30tHRwVlnncU555yD4zhs2rTpgLGPdjzf+ta3WLlyJfX19ZSUlOC6A7cZHa14crkc119/PX/zN38zbHFMVGNt/A2XwzmuTZs2AXDjjTfypS99ic2bNxcr/AlhoOvu17/+9RG7VgxHfO+//z6u63LppZcWLa6BDDWexfh3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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x18f35a50eb8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.pairplot(trans_data, diag_kind='kde', plot_kws={'alpha': 0.2})"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 94,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<seaborn.axisgrid.FacetGrid at 0x18f35d275c0>"
      ]
     },
     "execution_count": 94,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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hmpDXklJifLz81VSUqLc3FzHdA8PD02dOrVRioP5uFQNAObjNg44Q7Uhb8SIERoxYoR27Nihu+66S61bt5bNZtPp06cVEhLSmDUCANDkMZQIGluN9+R9++23+t3vfidJOnfunBISErRixQrTCwMAAHC28vJyLV26VLm5uQoLC9NPP/3k7JJqrcaQt3LlSr333qXBNDt06KDs7Gy9++67phcGAADgbFu2bNHs2bMVFRWl/Px8tWjRwtkl1VqNQ6hcvHhRzZo1c7z38uLmfAAA4BpeffVVSdIDDzyg7777Trt27dKrr76q7777ToWFhSoqKtKTTz6pd955R+7u7lq0aJGCg4OVmJiorVu3KiwsTK+//ro6dOjQ6LXXeCZvwIABevzxx/Xuu+/qvffe05NPPqmYmJjGqA0AAMCpnn/+eUnSSy+9VGX68ePHNX/+fLVq1UpZWVlatmyZJOnvf/+7Vq1apb1792rdunX61a9+pbS0tEavW6rFmbzf//73+uijj7Rr1y55eXlp3LhxGjBgQGPUBqAGjfFc0mZ317ksALCMy1czvb2r9pd33323QkJC1L59e/n5+Sk4OFjt2rVTaWmpvv32W50+fVpxcXEqKytT69atnVF67Z544el5aTHDMOTj42NqQQAAADcLd/dLFz1/+OGHa07/5WtJuv3229WmTRulpqYqNzdXvr6+5hd6DTVerp0zZ47efvtthYaGqn379po7d64WLVrUGLUBAAA41d13361bb71VCxYsqPU6I0eOVLdu3fT0008rJydHYWFhJlZYvRrP5G3evFkffPCB42zeo48+qt/+9rdKSEgwvTgAAABnateunbZu3Vpl2pw5cxyvFy5c6HidmZnpeP3GG2+YX1wNajyTd8stt1QZE+bixYsKCAgwtSgAAGAynl9ueTWeyWvVqpWGDh2qmJgYeXp66osvvlCrVq00ffp0SdLs2bNNLxIA0Aj4o+9SeH659dUY8vr166d+/fo53nfu3Nnx2s2t+gcsV1ZWKjk5WR988IFCQkKUlpam22+/vcoyJ0+e1JAhQ/Tcc89p1KhRkqQxY8boH//4h6RL32jZt29f3VoEAKgX/ui7Hp5fbm01hrzhw4dfd95vf/vba87buHGjcnJylJWVpfT0dKWmplb5wsamTZv08ssvq7i42DGtsrJSBw4cUHp6unr37n3dEAkAaHj80Qeso8Z78q7HMIxq5+Xn5ys0NFSdO3dWz549tXv37irzN23apBkzZlSZduTIEf3888+aO3euRowYoS+++OJGygMAAHBZtRonrzrXO9NWXFzsGDjQ29u7yhk7qeo3Uy4zDEMjR47U8OHD9cUXX2jatGnq0aOHAgMDr1tHXl5ePaq/cc7ar7O5arsbg6se2+raHRkZ2aDbMxufHxqaqx7b+vYJdRkgvjaWvzamQbfX2G4o5F2Pn5+f7PZLI+zb7Xb5+/vXuM6dd96padOmyc/PTy1bttTChQt19OjRGkPeNT/0Fd/Uq+66qO8fIFPR7iatzsfWVdtdn+3xu2Gam7LdjeHrd0zfRb2OrQX6hab0M5Wbm6tx48ZJujQocuvWrTV+/Hg99dRTCgsLU3JysuN7B43thi7XXk94eLiOHj2qgoICbd++XRERESopKZHNZqt2nZycHPXo0UN79uzRp59+Kh8fH3Xs2NGsEgEAABrEqlWrtG3bNv3ud7/Ta6+9pu3bt2vXrl2Kj493Wk2m3ZMXGxuruLg4jR07VufPn9e0adOUkJBw1X14VxoyZIji4uL05JNPas2aNZo7dy5j8gEAgJuer6+vWrdurSeeeEKhoaHKzs5W9+7dtWbNGp04cUJhYWGaOXOmevXqpQEDBjhGDwkLC1NSUpL69++v3r17OwZe/vDDD9WvXz/de++9mjNnjgzDUHZ2trp16+Z4MEVNanW59uzZs8rLy5OHh4eioqLUsmVLSdLEiROrXcfDw0MpKSlKSUlxTLtyJOjLDh48+O9iPD01c+ZMzZw5szZlAQAA3HRat26t8+fPXzXdZrMpMzNTY8aM0erVq9WlSxdJl4aUW7p0qSZNmqTMzEyFh4crMTFRU6ZMUb9+/fTYY485LmHbbDaNHTtWERERNdZR45m8999/X0OHDtX69euVnZ2twYMHO1LmwIED69RoAGgSGBQYwA04f/68br311qumP/DAA7rjjjsUFBSk0tJSx/To6GjddtttuvPOO1VaWqrjx4/Lbrdr/vz5GjlypM6fP6/8/HzH8n369FGHDh1qrKPGM3lvvvmmsrOz1bZtW0nSd999p4SEBPXt27dWDQWApoZBgQHUVUlJiQoLC7V161YdPnxYzz33nFavXl1lGXf3S+fWfjk6yS+nBwUFycvLS+PGjdN9992nlStXqk+fPjp58qQkqXnz5rWqqcaQ5+vrq1tuucXxvkOHDvLyosMDYG0MCgw0Pc4c8mTEiBFyc3PTLbfcosTERA0YMKDe22rVqpVSU1OVnp6uJUuWqEePHrr77rsdIa+2agx5Xbp00YQJExQfHy8PDw99+OGHatOmjf7+979LUq1u/AMAALCie++9t8r3C6505fQrX69cufKa09PT0x2vBw0apEGDBlXZXlxcnOLi4mpdW40hr7S0VG3atHE8fcLHx0c+Pj7Kzc2VRMgDmgzuMwMAl1JjyJs9e3Zj1AHAZNxnBgCupdqQ9/TTT2vx4sXq379/lRsEDcOQu7u7Nm3a1CgFAmg43GcGAK6j2pB3eay6X//615oxY4YMw5Cbm5sMw9D06dMbrUAAAADUXbUhLyUlRQUFBTp9+rQKCgoc0ysqKtSuXbtGKQ4AAAD1U23ImzNnjgoLCzVr1iy9+OKL/17B01OtW7dulOIAAABq64klzzTo9paOn9ug22ts1T7xws/PT0FBQXrzzTfVoUMHx7+2bdvK07NWT0MDAACwtNzcXIWFhenQoUMNvu3s7GyFhYVVeTpGXdT4WDMAAAA0PYQ8AACABvTLs3u9evXSvHnzJElhYWFKSkpS//791bt3b23dulWStGHDBg0YMEDh4eGaOHGiioqKHNt75ZVXFBUVpXHjxunChQu1roOQBwAA0IhOnjyppUuX6j//8z+VmZmp8+fPKzExUfHx8crJyZGbm5u+/vprx/Lh4eGaP3++cnNztW3btlrvh5vrAAAATFRRUVHlfXR0tG677TbdeeedOnv2rP71r3+ptLRU/fr10x133KHFixdLunRPniQNHjxY7u6XzsvZbLZa75eQBwAAcINOnjzp+GLq5YdIHD58WHa7XYWFhVWWvRzYLi8XHBys5s2ba9OmTfLx8dFzzz2nRx55RB4eHlWWly49lKK2CHkAAMASnDnkyVNPPeV4fc899+i///u/lZiYqF69eum222677roBAQGaM2eOXn/9db311lu677779NBDD93w08UIeQAAAPV077336uDBg7Ve/spl09PTHa8HDhyogQMHVlk2Li5OcXFx11y3NvjiBQAAgAUR8gAAACyIkAcAAGBBhDwAAAALIuQBAABYECEPAADAggh5AAAAFkTIAwAAsCBCHgAAgAWZFvIqKyuVlJSkyMhIxcXF6ciRI1ct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AAALIuQBAABYECGvGoZhKDU1Vf3791e3bt00cuRI7d+/39llNZq6tj83N1dfffVVI1bYMB577DGFhYVd819WVpazy2tUubm5Vx2DxMTEay5z6NAhJ1XpPPQJ9Amu1idI9AtNnoFr+vzzz4277rrL2Lp1q3Hq1CnjySefNIYMGeLsshpNXdt/1113GcuXL2/EChvGhQsXjKKiIuP//u//jLi4OKOoqMgoKipqsu25EV999ZVx1113GXv37nUch59//rnKMhcvXjSKioqMiooKJ1XpPPQJ9AlNsT03in6haeNMXjUuj9H3l7/8RZs3b1ZycrJycnKUmJiokSNHSpI+//xzhYWF6cSJE8rOztY999yjl19+WVFRURo9erR++uknZzbhhlTX/i1btqh///76zW9+o4ceekgHDhxw/K8uOTlZ2dnZziy7znx9fdWiRQt5eXnJw8NDLVq0UIsWLSRJ27dvV3R0tPr27asdO3ZIkvr376/XX39dkvT666+rf//+ki797z8uLk733nuvli5d6pS2NJTLx6RFixb6+uuvFRYWpieeeEK9e/fWjh071L1796ueRe0K6BPoE1y1T5DoF5oqQl41unXrpldeeUWnTp3SSy+9pAceeEAZGRnXXaekpESdOnXSG2+8oby8PG3btq2Rqm141bX/7NmzmjBhgjZs2KDi4mJt2LBBL730kiRp+vTpGjx4sJMrbzilpaV69913FRAQUKtO+vz581qxYoWGDx9ufnEmGjFihKKiohQVFaUTJ05Iknr27KmsrCw1a9bMydU5D30CfYKr9gkS/UJTZdo4eU3dN998o1atWunjjz/W999/rwULFmjRokXq3bu3jP8/6kxlZeVV6w0ePFju7pey8+WndzRF1bU/LS1Na9as0bZt2+Tm5qbS0lLHo+maN29uqV/2vn37KigoSLfffrt+/PFHx/TLn39FRUWV5e+++26FhoY2ZommWLBggYKDgyVJx48flyT913/9l4KDg/X99987szSnok+gT3DVPkGiX2iqOJNXjQMHDmjKlCnatGmTvLy85OfnJ29vb7Vt21anTp3STz/9pNzc3KvW8/DwkJubmxMqbljVtT8lJUVdunTR5MmTVVlZ6ejc3N3ddf78ecdzia3g8h/mK/n4+OjYsWO6cOGC9uzZU2Ve8+bNG6s0U7Vp00ZBQUEKCgqSh4eHJFnqD3V90SfQJ7hqnyDRLzRVnMmrxvDhw3XkyBElJyersLBQwcHBSktLU3BwsPLy8jRw4EANGDDA2WWaprr25+XlKSsrS5999pnatm3rOG0fExOjt956S7feeqvi4uKcXL15Jk6cqDlz5mjEiBHq1KmTfvjhB2eXhEZCn0CfcC30CbiZ8cQLAAAAC+JyLQAAgAUR8gAAACyIkAcAAGBBhDwAAAALIuQBAABYECEPN7XExMQm91gkAOahTwBqj5AHAABgQYyTh5uKYRiaM2eOtmzZojZt2qiiokIPP/ywjh07ph07dqioqEht2rRRenq6Nm/erK+++kppaWmSpHnz5ql58+aaOHGik1sBoKHQJwD1x5k83FQ+/vhjHThwQOvXr9fcuXN1/PhxVVRU6PDhw/rb3/6mjz/+WO3atdPatWs1cOBA7dixw/HYpPXr12vYsGFObgGAhkSfANQfjzXDTWXnzp168MEH5eXlpVatWqlPnz7y8PDQtGnTtGrVKh05ckR79uzRbbfdJl9fX/Xt21cbN25UcHCwgoOD1bZtW2c3AUADok8A6o8zebipuLm56co7CDw9PVVYWKinnnpKlZWVeuihhzRgwADHMvHx8Vq/fr3WrVtn6edjAq6KPgGoP0Iebir333+/PvzwQ5WVlamoqEhffPGF3Nzc1KNHD40aNUqhoaHasmWLKioqJElRUVE6deqUcnNzLf1weMBV0ScA9cflWtxUBgwYoH379mnw4MEKDAxUx44dZbfb9c0332jIkCGSpM6dO+vEiROOdR544AEVFhaqWbNmziobgEnoE4D649u1aLIMw9DFixc1fvx4zZgxQ7/5zW+cXRIAJ6JPAKrici2arDNnzqhXr14KDw+nMwdAnwD8AmfyAAAALIgzeQAAABZEyAMAALAgQh4AAIAFEfIAAAAsiJAHAABgQYQ8AAAAC/p/08KNz9F9hokAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x18f359b65f8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.factorplot(x='day', y='tip_pct', hue='time', col='smoker',\n",
    "               kind='bar', data=tips[tips.tip_pct < 1])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 95,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<seaborn.axisgrid.FacetGrid at 0x18f3866ba20>"
      ]
     },
     "execution_count": 95,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjQAAAI0CAYAAAAKi7MDAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvNQv5yAAAIABJREFUeJzs3X9c1fX9//87AnaYhwwlXf54Q1mzNYxxgayoFEUdWVqBrh+iVsuimilWX3/kmziGKduIJLO17bKNyFxmUFam4a9mUcKATN+dXFNs1pyaTDzhOYLw+v7hp7NOys98Aa/D7foXr9fz9Xy9Hq/j4emd5+t1XifAMAxDAAAAFtajswsAAAD4vgg0AADA8gg0AADA8gg0AADA8gg0AADA8gg0AADA8gg0XZjL5dKDDz4oSTp48KBmzJjRKXVMnTpVY8eO1U033aQbb7xRt912m0pKSrztM2bM0MGDBzusntGjR3fIcebNm6fCwsIOOZZ06nV+5JFHfNY988wzeuaZZzqsBnRNjAVn5o9jwY4dOzR8+HCf19Hj8Wjs2LHasmVLh9RgVUGdXQCaVlNTI6fTKUnq37+/fv/733daLVlZWbryyislSTt37tQ999yjlStX6uKLL+7UuvzN+vXrlZSUpDFjxnR2KehCGAu6j+joaKWkpOiJJ57Q8uXLJUnLli1TXFycRo0a1cnVdW0Emi4sKytLhw4d0oMPPqj58+dr2rRp2rx5s+bNm6eQkBB98sknOnbsmObMmaPXX39dn376qcaMGaN58+apoaFBv/rVr1RaWqqGhgYlJyfrzjvv9Nl/cXGx9xfmGxdeeKGefvrpZusaNmyYrr/+er3yyiuaP3++Ro8erRdeeEGlpaXatm2bampqtH//fl1zzTXKzMzU9u3b9fzzz8tms2nPnj0aOnSofvOb36hnz5567bXXlJ+fr8bGRv3kJz/R448/rnPOOUdXXXWVoqKidPjwYa1Zs0bBwcHN1vTpp58qIyNDJ0+e1DnnnKMlS5YoMjJS11xzjRITE/Xxxx8rPDxcKSkpKigo0L///W8tXbpUw4cPV1VVlTIyMnT06FH94Ac/0GOPPabLL7/cu2+32627775bN954o6ZMmdLmmtvyOt9///1yOByKi4vTeeed59P20UcfafHixTpx4oTCwsK0aNEiRURENPu6wD8wFnSvsWDWrFm66aabtGnTJg0YMEDFxcV67bXXJElff/21Fi1apH/84x9qbGzUvffeq/Hjx+uTTz7R448/roaGBtlsNmVnZ2vw4MHNvlZ+x0CXtX//fmPUqFGn/Tx37lzjgQceMAzDMAoLC43Y2Fjjq6++MlwulxETE2McO3bMeOmll4wnn3zSMAzDOHHihJGammqUlZW1q47U1FTjww8/9Fn34osvGvfcc49hGIYxatQoY//+/carr75qjBw50nC5XMbx48eNESNGGJ9++qnx4YcfGj/96U+NAwcOGA0NDUZKSoqxadMm4+9//7tx++23Gx6PxzAMw/jNb35jPPvss4ZhGMaPfvSj0475jW9eh2+bN2+esW7dOu9rUlRU5N1PcXGx9zzmzJnj3eab1zAlJcXYsGGDYRiGUVlZaSQkJBgnTpww5s6da/zlL38x7r77buNPf/qTYRhGu2tujW9e56ysLOPhhx82DMMw8vLyjLy8POPEiRPGqFGjjB07dhiGYRjr1q0zkpOT230sWAtjQfcaCwzDMMrKyowxY8YYt956q1FSUuJdv3TpUuPFF180DMMwjh07ZowfP9744osvjEceecR45513DMMwjFdeecVYu3bt9zq+FTFDY1EjRoyQJA0YMECXXHKJ+vbtK0k677zzVFNTow8++EBOp1MffvihJOn48ePavXu34uLivPto719lkhQQECCbzXba+piYGNntdknS4MGDVVNTI0m65JJL9MMf/lCSNGTIENXU1Ohf//qXPv/8c/385z+XJNXX1+uyyy7z7is6Orp1L4akkSNHatGiRdq2bZtGjx7tMzX7zWs1cOBAxcbGSjr1uh07dky1tbX65z//qXHjxkmSfvrTn6p3797au3evpFNTvT169PC+Ttu3b29zzW19nefMmaObbrpJGzdu9K7bt2+fzj33XO9fi9dff70yMjLkcrkUGhra6tcJ/oexwJe/jAVxcXGKi4uTYRi6+uqrvetLSkpUX1+v1atXSzo1a/SPf/xDCQkJevzxx7V161aNGjWqw+4v6koINBb17WnXoKDT/xkbGhr06KOPen85q6ur1atXL59txo4dq7Fjx7br+Lt379aQIUNOW3/OOed4fw4ICJDx/74q7EzrGxoadP3112vhwoWSpNraWjU0NHi3O9Mg2ZSkpCTFxMRoy5Yt+vOf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z549uvPOO3XnnXfK7XZr4cKF2r17twICAvSLX/xCN998s8/+Fy9erCNHjujXv/61/u///k9LliyRx+NRWFiYHA6HBg8erKlTp6p379767LPP9PTTT+vHP/6xJOnAgQNKS0s7reaVK1fKbrf7rLv11lu1bt06jRs3TnFxcT5tX331lR577DH961//UlBQkNLT0zVixIhW/fvAPzAONM8fxoGEhAS99dZbysvL06xZs/TEE08oNzdX55xzjiTpueee04YNG9TQ0KCEhAQ9/PDD3n/z6upqSdJDDz2khISEVv2b+R0DXd7+/fuNUaNGnfbz3LlzjQceeMAwDMMoLCw0YmNjja+++spwuVxGTEyMcezYMeOll14ynnzyScMwDOPEiRNGamqqUVZW1q46Ro0aZezfv7/Z9R9++KGRmppqGIZhpKamGllZWYZhGMamTZuMW265xTAMw5gxY4bx4osvGoZhGFu3bjUeeughY//+/cbQoUONHTt2GIZhGDNnzvRu822pqamn1VBYWGhkZmYahmEYn3zyibF06VLvtosXLzYMwzCeeeYZY8yYMcbx48eNL774woiLizMMwzCys7ONJ554wjAMwzhy5IgxevRow+l0Gq+++qoxd+5cIy8vz5g5c6ZRX19vnDhxwpgwYYLx5ZdfGoZhGH/961+N6dOne4+Vl5fX5tf0G3l5eUZeXp5RXFxsjBs3znC73T6v5UMPPWT88Y9/NAzDMP75z38a11xzjXH48OF2Hw/WwzjwX/46DhiGYfznP/8xrrvuOuOhhx4yli1b5l2/efNmIz093Th58qTR0NBgzJ4923jzzTeN1atXe2vfuXOn8etf//p7Hd/KmKGxuG/+Sh8wYIAuueQS9e3bV5J03nnnqaamRh988IGcTqc+/PBDSdLx48e1e/dunxmA7/uXWXOuu+46SdIll1yio0ePSpLKysq8l1ZGjhypkSNH6osvvlC/fv10+eWXS5Iuvvhi/ec//2nVMWJiYvTUU0/p4MGDSkhI8N5nIPm+PtHR0QoJCdHAgQN17NgxSdKHH36oJ598UpLUp08fJSYmqrS0VHa7XX/9619VXV2tNWvWKCgoSH//+9+1f/9+3X///d79f/31196fv6n929oyQyNJY8aM0dtvv62nnnpKiYmJ3vUffvihsrKyJEmDBw9WdHS0duzY4bMNui/GAf8ZB8477zylp6frueee029+8xvv+pKSElVUVCg5OVmS5PF4FBERoQkTJmjZsmX697//rZEjR57xON0FgcbigoODvT8HBZ3+z9nQ0KBHH31U48aNkyRVV1erV69ePtuMHTtWY8eO/V51GIYhSTp58qTP+m+mSgMCAs5Yp2EY2rNnj2w2m8/6gIAA7z5bEhkZqbffflvbtm3Tli1b9Mc//lHr1q2T1PLr891jGIahhoYGSdLAgQOVnp6uRYsW6S9/+YsaGxs1aNAgvf7665JOvbbfTG9Lks1mO23/F1xwgXf71lq4cKEmTJig8847r1V1AowD/jUODBgwQP379/epu7GxUXfffbemTZsm6dQ9VUFBQerVq5fWr1+vv/71r9q8ebP+/Oc/68033/R5rbsLbgq2gKCgoNMGiNa66qqrtHr1atXX16u2tlZ33HGHPvroo7NaX1hYmP7xj39IkjZt2tTi9nFxcXrrrbcknfqr43//93+/1/FffPFFPfPMM7r++uv1+OOPq7q62ucvpuZcddVVWrNmjaRTg/ymTZs0fPhwSdKQIUM0efJkhYSEaOXKlbroootUU1Ojv/3tb5KkV199VY888sj3qv1MwsLClJmZqRUrVpyxzv3796uiokI//elPz/qx0XUxDjTP38aBM9X42muv6fjx46qvr9f999+vjRs3Kj8/XytWrND48eOVmZmpgwcPem8q7m6YobGAvn37asCAAZo6daqWLFnSpr633XabPv/8c91yyy06efKkkpOTdeWVV7a7lhtvvNEn+VdWVuqhhx7SE088oeXLl+vaa69tcR8ZGRlauHChXnrpJYWEhHgvpbTXzTffrDlz5mjChAkKDAzUo48+qnPPPbdVfR988EFlZmZqwoQJamhoUFpamn7yk59o9+7d3m0yMzN1++23a+zYsVq2bJkWL16sEydOyG63m/ZxyjFjxuhnP/uZDh06JEl67LHHlJGRocLCQkmnbhDt16+fKcdG18Q40Dx/HAe+bezYsdq9e7cmT57svSl44sSJcrlc3vMOCgrSggULzng5uzsIMFo7nwd0Ad8M5oMGDersUgB0EsYBnAmXnAAAgOUxQwMAACyPGRoAAGB5BBoAAGB5lg805eXlnV0CgC6EMQHoniwfaAAAAEwLNI2NjcrIyFBsbKySk5NVVVXl0/7KK69o5MiRuuaaa/TKK69Iktxut2bOnKmYmBhNnz5dR44cMas8AADgR0wLNMXFxSoqKlJ+fr7CwsJ8Hjzkcrm0aNEiPfLII7r99tuVmZmpmpoarVq1ShUVFVqzZo2qq6t9npQKAADQFNMCTUVFhSIjIxUVFaX4+HhVVlZ620JDQ/X+++9r/PjxstvtCgoKUo8ePVRRUaFhw4ZpyJAhuuKKK3z6AAAANMW0QONyubxf0mWz2eRyuXzazz33XBUUFGjJkiX6xS9+odDQ0Bb7AAAAnIlp3+Vkt9vl8Xgknfqa89DQ0NO2ufHGG/XDH/5Qs2bN0tVXX92qPmfCpxoA/xQbG9uufowJgH9qbkwwLdBER0dr1apVcjqdKikpUUxMjGpra9WjRw8dOnRIv/zlLzVr1iyFhIRIko4fP67o6Gi98MIL2rt3r8rKyrzfdtqS9g56APwTYwLQ/ZgWaJKSklRaWqrU1FRFREQoJydHaWlpCg8PV25ursaNG6fHHntMkjRjxgyNHDlScXFx2rVrl1JSUjRs2DA98MADZpUHAAD8iOW/y6m8vJy/xgB4MSYA3RMP1gMAAK2Sl5enxMRE5eXldXYppyHQAACAFrndbq1du1aS9MYbb8jtdndyRb4INAAAoEV1dXX65i6VxsZG1dXVdXJFvgg0AADA8gg0AADA8gg0AADA8gg0AADA8gg0AADA8gg0AADA8gg0AADA8gg0AADA8gg0AADA8gg0AADA8gg0AADA8gg0AADA8gg0AADA8gg0AADA8gg0AADA8gg0AADA8gg0AADA8gg0AADA8gg0AADA8gg0AADA8gg0AADA8gg0AADA8gg0AADA8gg0AADA8gg0AADA8gg0AADA8gg0AADA8gg0AADA8kwLNI2NjcrIyFBsbKySk5NVVVXl015QUKBrr71WcXFxcjgcMgxDkpSQkKChQ4dq6NChSkpKMqs8AADgR0wLNMXFxSoqKlJ+fr7CwsKUnZ3tbTtw4IAWL16s9PR05eTk6KWXXtLWrVtVXV2tAwcO6OWXX1ZZWZnWrFljVnkAAMCPmBZoKioqFBkZqaioKMXHx6uystLbFh4ervXr12vixIkaNGiQJKmhoUE7d+6UJM2bN09TpkzRrl27zCoPAAD4kSCzduxyuWSz2SRJNptNLpfL2xYcHKzIyEgdOnRIM2fOVGRkpEaMGKGPP/5Yd9xxhyZNmqSVK1dq9uzZeu+99xQU1HyZ5eXlZp0GgE4UGxvbrn6MCcDZV1tb67O8Y8cO9erVq0NraG5MMC3Q2O12eTweSZLH41FoaKhP+8GDBzVt2jR5PB7l5+erZ8+eiouL06WXXiq73a6kpCS9+uqrOnz4sC644IJmj9XeQQ+Af2JMAM6+mpoan+Xo6Gj17t27k6o5nWmXnKKjo7Vv3z45nU6VlJQoJiZGtbW1crvdOnnypO677z4dPXpUzz//vPr06aO6ujotX75cCQkJ2rNnj7Zu3ar+/furX79+ZpUIAAD8hGkzNElJSSotLVVqaqoiIiKUk5OjtLQ0hYeH64YbbpDT6ZQk3XTTTZKkzMxM3XXXXXI6nZo0aZIGDx6s5cuXKzAw0KwSAQCAnwgwvvm8tEWVl5czvQzAizEBMEdNTY2Sk5O9y4WFhd3jkhMAAEBHIdAAAADLI9AAAADLI9AAAADLI9AAAADLM+1j2wAAoGM9+dgrpu27vt7js/z04rUKDraZcqwFiye3uQ8zNAAAwPIINAAAwPIINAAAwPIINAAAwPK4KRiwMDNvAOxI7bkBEAC+jRkaAABgeQQaAABgeQQaAABgeQQaAADaKC8vT4mJicrLy+vsUvD/EGgAAGgDt9uttWvXSpLeeOMNud3uTq4IEoEGAIA2qaurk2EYkqTGxkbV1dV1ckWQCDQAAMAPEGgAAIDlEWgAAIDlEWgAAIDlEWgAAIDlEWgAAIDlEWgAAIDlEWiAVuCpoADQtRFogBbwVFAA6PoINEALeCooAHR9BBoAAGB5BBoAAGB5BBoAAGB5BBoAAGB5pgWaxsZGZWRkKDY2VsnJyaqqqvJpLygo0LXXXqu4uDg5HA4ZhiG3262ZM2cqJiZG06dP15EjR8wqDwAA+BHTAk1xcbGKioqUn5+vsLAwZWdne9sOHDigxYsXKz09XTk5OXrppZe0detWrVq1ShUVFVqzZo2qq6u1YsUKs8oDAAB+xLRAU1FRocjISEVFRSk+Pl6VlZXetvDwcK1fv14TJ07UoEGDJEkNDQ2qqKjQsGHDNGTIEF1xxRU+fQAAAJoSZNaOXS6XbDabJMlms8nlcnnbgoODFRkZqUOHDmnmzJmKjIzUiBEjVFBQoLCwsDP2aU55efnZPwHg/6mtrfVZ3rFjh3r16tVJ1finpn6HY2Njz+r+gLOBMcF87RkTTAs0drtdHo9HkuTxeBQaGurTfvDgQU2bNk0ej0f5+fnq2bNni32a0t5BD2iNmpoan+Xo6Gj17t27k6rxtaFwb2eXcFac7d9hxgSsm3aXaft2NzT4LB9+/g/6OjDQlGONf+FPbdq+O48Jpl1yio6O1r59++R0OlVSUqKYmBjV1tbK7Xbr5MmTuu+++3T06FE9//zz6tOnj+rq6hQdHa1du3Zp7969KisrU0xMjFnlAQAAP2LaDE1SUpJKS0uVmpqqiIgI5eTkKC0tTeHh4brhhhvkdDolSTfddJMkKTMzU1OmTNGuXbuUkpKiYcOG6YEHHjCrPAAA4EdMCzSBgYFyOBxyOBzedQUFBd6fd+/efcZ+fJsxAABoK9MCDdCROvJ6+cYHZiqki1wvBwCcwpOCAQCA5RFoAACA5RFoAACA5RFoAACA5RFoAACA5RFoAACA5RFoAACA5RFoAABAiwJ6fPv5WwHfWe58BBoAANCioMBgDer/E0nSoP6XKSgwuJMr8sWTggEAQKsMvfA6Db3wus4u44yYoQFaEBgQ4P054DvLAICugUADtKBnjx76aS+7JCm6l109e/BrAwBdDZecgFZIPK+PEs/r09llAACawJ+aAADA8gg0AAC0AffVdU0tBpr333//tHXvvPOOKcUAANDVcV9d19TkPTTr1q1TXV2d8vLy9NBDD3nX19fX63e/+53GjRvXIQUCANDVcF9d19NkoKmtrVVFRYVqa2u1fft27/rAwEClp6d3SHEAAACt0WSgmTx5siZPnqwPPvhAP/rRj9S3b1+53W4dOnRIERERHVkjAABAs1q88PfZZ5/pnnvukSRVV1crLS1NL7/8sumFAQAAtFaLgWb16tVauXKlJGngwIEqLCzUiy++aHphAAAArdVioKmvr1fPnj29y8HBXevLqAAAAFp8UvCYMWM0ffp0XX/99QoICNCGDRuUmJjYEbUBAAC0SouB5tFHH9X69etVVlam4OBgTZs2TWPGjOmI2gAAAFqlVU8DCgo6lXsMw1BISIipBQEAALRVi4Fm6dKl+sMf/qDIyEgNGDBAy5Yt029/+9uOqA0AAKBVWrzktGXLFr311lveWZrbbrtNN998s9LS0kwvDgAAoDVanKE5//zzdezYMe9yfX29wsLCTC0KAACgLVqcoenTp48mTpyoxMREBQUFadu2berTp4/mz58vSVqyZInpRQIAADSnxUAzatQojRo1yrscFRXl/Tmgma9Mb2xsVGZmpt566y1FREQoJydHF154oc82Bw4c0IQJE/Twww/r9ttvlyRNmTJFf/vb3yRJPXv21M6dO9t2RgAAoNtpMdDccsstzbbdfPPNZ2wrLi5WUVGRVq1apdzcXGVnZ/vcTLxx40YtWrRILpfLu66xsVGffPKJcnNzde211zYbmAAAAL7Rqo9tN8UwjCbbKioqFBkZqaioKMXHx6uystKnfePGjVqwYIHPuqqqKh0/flzLli3T5MmTtW3btu9THgAA6CZanKFpTnMzKC6XSzabTZJks9l8ZmKkUx8H/y7DMPTzn/9ct9xyi7Zt26a5c+dq+PDhCg8Pb7aO8vLydlQPdD3d9b3c1HnHxsae1f0BVtNd38vtGRO+V6Bpjt1ul8fjkSR5PB6Fhoa22Ofiiy/W3LlzZbfb1bt3b61YsUL79u1rMdC0d9CD/1jX2QWcJW19L28o3GtSJR3rbP8OMyaAMcHa2vM7/L0uOTUnOjpa+/btk9PpVElJiWJiYlRbWyu3291kn6KiIg0fPlwfffSRNm3apJCQEA0ZMsSsEgEAgJ/4XjM0zd1Dk5SUpNLSUqWmpno/5ZSWlqbw8HDl5uaesc+ECRNUXl6uu+++W+eff76WLVvGM28AAECLWhVojhw5ovLycgUGBiouLk69e/eWJN17771N9gkMDJTD4ZDD4fCuKygoOG273bt3/7eYoCBlZWUpKyur1ScAAADQ4iWn119/XRMnTtSbb76pwsJC3XjjjXr33XclSePHjze9QAAAgJa0OEPz3HPPqbCwUP3795ckffnll0pLS9PIkSNNLw4AAKA1Wpyh6dWrl84//3zv8sCBAxUcHGxqUQAAAG3R4gzNsGHDNGPGDKWkpCgwMFBvv/22+vXrp9dee02SmnxSMAAAQEdpMdCcOHFC/fr18z61NyQkRCEhIdq+fbskAg0AAOh8LQYavk0bAAB0dU0Gmvvuu0/PP/+8Ro8e7fMVB4ZhqEePHtq4cWOHFAgAANCSJgPNN8+Cueyyy7RgwQIZhqGAgAAZhqH58+d3WIEAAAAtaTLQOBwOOZ1OHTp0SE6n07u+oaFBF1xwQYcUBwAA0BpNBpqlS5fq6NGjWrx4sRYuXPjfDkFB6tu3b4cUBwAA0BpNBhq73S673a7nnnuuI+sBAABoM9O+bRsAAKCjEGgAAIDlEWgAAIDlEWgAAIDlEWgAAIDlEWgAAIDlEWgAAIDlEWgAAIDlEWgAAIDlEWgAAIDlEWgAAIDlEWgAAIDlEWgAAIDlEWgAAIDlEWgAAIDlEWgAAIDlEWgAAIDlEWgAAIDlEWgAAIDlEWgAAIDlmRZoGhsblZGRodjYWCUnJ6uqquq0bQ4cOKC4uDitWrWq1X0AAAC+y7RAU1xcrKKiIuXn5yssLEzZ2dk+7Rs3btStt94ql8vV6j4AAABnYlqgqaioUGRkpKKiohQfH6/Kykqf9o0bN2rBggVt6gMAAHAmQWbt2OVyyWazSZJsNpvPTIwkLV26tM19mlJeXv49qwW6hu76Xm7qvGNjY8/q/gCr6a7v5faMCaYFGrvdLo/HI0nyeDwKDQ01pY/U/kEP/mNdZxdwlrT1vbyhcK9JlXSss/07zJgAxgRra8/vsGmXnKKjo7Vv3z45nU6VlJQoJiZGtbW1crvdbeoDAADQEtNmaJKSklRaWqrU1FRFREQoJydHaWlpCg8PV25ubqv7AAAAtMS0QBMYGCiHwyGHw+FdV1BQcNp2u3fvbrYPAABAS3iwHgAAsDwCDQAAsDwCDQAAsDwCDQAAsDwCDQAAsDwCDQAAsDwCDQAAsDwCDQAAsDwCDQAAsDwCDQAAsDwCDQAAsDwCDQAAsDwCDQAAsDwCDQAAsDwCDQAAsDwCDQAAsDwCDQAAsDwCDQAAsDwCDQAAsDwCDQAAsDwCDQAAsDwCDQAAsDwCDQAAsDwCDQAAsDwCDQAAsDwCDQAAsDwCDQAAsDwCDQAAsDwCDQAAsDwCDQAAsDzTAk1jY6MyMjIUGxur5ORkVVVV+bRv3rxZCQkJio+P1+rVq73rExISNHToUA0dOlRJSUlmlQcAAPyIaYGmuLhYRUVFys/PV1hYmLKzs71t9fX1mj9/vlJSUpSeni6Hw6HDhw+rurpaBw4c0Msvv6yysjKtWbPGrPIAAIAfMS3QVFRUKDIyUlFRUYqPj1dlZaW3bc+ePTp69KhGjRqlxMREnTx5Ujt37tTOnTslSfPmzdOUKVO0a9cus8oDAAB+JMisHbtcLtlsNkmSzWaTy+Xytn399deSpJCQEIWEhHi3HzhwoO644w5NmjRJK1eu1OzZs/Xee+8pKKj5MsvLy006C6Bjddf3clPnHRsbe1b3B1hNd30vt2dMMC3Q2O12eTweSZLH41FoaKhP2zfr3W63JCk0NFRxcXG69NJLZbfblZSUpFdffVWHDx/WBRdc0Oyx2jvowX+s6+wCzpK2vpc3FO41qZKOdbZ/hxkTwJhgbe35HTbtklN0dLT27dsnp9OpkpISxcTEqLa2Vm63WxdddJFCQ0O1ZcsWbdq0SUFBQbr88su1fPlyJSQkaM+ePdq6dav69++vfv36mVUiAADwE6bN0CQlJam0tFSpqamKiIhQTk6O0tLSFB4ertzcXGVnZysrK0sej0cZGRkKDw/XXXfdJafTqUmTJmnw4MFavny5AgMDzSoRAAD4CdMCTWBgoBwOhxwOh3ddQUGB9+fExEQlJib69OnVq5eeffZZs0oCAAB+igfrAQAAyyPQAAAAyyPQAAAAyyPQAAAAyyPQAAAAyyPQAAAAyyPQAAAAyyPQAAAAyyPQAAAAyyPQAAAAyyPQAAAAyyPQAAAAyyPQAAAAyyPQAAAAyyPQAAAAyyPQAAAAyyPQAAAAyyPQAAAAyyPQAAAAyyPQAAAAyyPQAAAAyyPQAAAAyyPQAAAAyyPQAAAAyyPQAAAAyyPQAAAAyyPQAAAAyyPQAAAAyyPQAAAAyyPQAAAAyyPQAAAAyzMt0DQ2NiojI0OxsbFKTk5WVVWVT/vmzZuVkJCg+Ph4rV69WpLkdrs1c+ZMxcTEaPr06Tpy5IhZ5QEAAD9iWqApLi5WUVGR8vPzFRYWpuzsbG9bfX295s+fr5SUFKWnp8vhcOjw4cNatWqVKioqtGbNGlVXV2vFihVmlQcAAPyIaYGmoqJCkZGRioqK0v/f3t2FNPn2cQD/zmkq6kARV+DKEtQwU2sWmWVNzRAlnCn0Br2QRDz1QCdZB2kvBwouqRCCCDqILCKDEkN60UycM1aWYp6oKSKLCjenObN5Pwf/x/GXXFhtu73d9wOe7L7v8bvm/O7ndbPrSk1Nxdu3bx3Hent7YTabsX37dmRkZODHjx/o7OzEmzdvkJCQgOjoaKSkpMy6hoiIiMgZX3c9sdVqRUBAAAAgICAAVqvVcWxsbAwAEBgYiMDAQMf5VqsVoaGhc17zK0aj0ZWlkwQp//sfsUtwid99L2drV7mpEs/61bjXr1/v0ucj78BMkLY/yQS3NTTBwcGw2WwAAJvNhpCQkFnHZh6fmJgAAISEhPzyGmf+JOyIaPFiJhB5J7fdckpMTMTHjx/x4cMHtLa2Ijk5GePj45iYmMCqVasQEhKCxsZGPH/+HL6+vli7di0SExPR1dWFvr4+vH79GsnJye4qj4iIiBYRt83Q7Ny5E+3t7di/fz9WrFgBnU6HY8eOITw8HFVVVaioqMClS5dgs9lw7tw5hIeHY9++fejq6kJBQQESEhJw/Phxd5VHREREi4hMEARB7CKIiIiI/gYX1iMiIiLJY0NDREREkseGxglBEFBRUQGNRoOkpCQUFRWhq6tL7LI85nfHbzAY0NbW5sEKXePAgQOIjY2d86empkbs8jzKYDD89BqUlJTMeU5vb69IVYqHmcBM8LZMACSWCwLNqbm5WYiJiRFevnwpmEwm4fDhw0JeXp7YZXnM744/JiZGuHPnjgcrdI2xsTHBYrEIp06dErRarWCxWASLxSLZ8fyNtrY2ISYmRnft2NcAAAVFSURBVHj37p3jdfj27dusc6ampgSLxSLY7XaRqhQPM4GZIMXx/C0p5QJnaJyYWQPn5s2baGxsRFlZGR4+fIiSkhIUFRUBAJqbmxEbG4uhoSHU1tZi3bp1uHDhAtRqNfbu3YvR0VExh/BXnI2/qakJGo0G8fHxyM7ORnd3t6NbLysrQ21trZhl/7agoCAoFAr4+flBLpdDoVBAoVAAAFpbW7Ft2zakp6dDr9cDADQaDSorKwEAlZWV0Gg0AP75r06r1WLjxo24deuWKGNxlZnXRKFQ4P3794iNjcXBgweRlpYGvV6PlJSUn/Zm8wbMBGaCt2YCII1cYEPjRFJSEi5evAiTyYTS0lJkZWXh6tWrv7xmfHwccXFxuHz5MoxGI1paWjxUres5G//Xr19x9OhR1NfXw2q1or6+HqWlpQCAM2fOIDc3V+TKXWdychK3b99GaGjovAJpZGQE9+7dQ35+vvuLc6PCwkKo1Wqo1WoMDQ0BAFJTU1FTU4MlS5aIXJ14mAnMBG/NBEAaueC2dWikrqenB2FhYWhoaMDw8DCqq6tx/fp1pKWlQfj/N92np6d/ui43Nxc+Pv/0iTOrHkuRs/HrdDo8ePAALS0tkMlkmJycdGxf4e/vv2De2K6Qnp6OyMhIrFy5El++fHE8PvP7t9vts85fvXo1oqKiPFmiW1RXV0OlUgEABgcHAQBbtmyBSqXC8PCwmKWJipnATPDWTACkkQucoXGiu7sbJ0+exLNnz+Dn54fg4GAEBARAqVTCZDJhdHQUBoPhp+vkcjlkMpkIFbuWs/GfP38eCQkJOHHiBKanpx1/yD4+PhgZGXHs07UYzHwI/VtgYCAGBgYwNjaGjo6OWcf8/f09VZpbRUREIDIyEpGRkZDL5QCwqD6U/hQzgZngrZkASCMXOEPjRH5+Pvr7+1FWVgaz2QyVSgWdTgeVSgWj0YicnBxkZmaKXabbOBu/0WhETU0NXrx4AaVS6Zh6zMjIwI0bN7B06VJotVqRq3ef4uJilJeXo7CwEHFxcfj06ZPYJZGHMBOYCXNhJiwcXCmYiIiIJI+3nIiIiEjy2NAQERGR5LGhISIiIsljQ0NERESSx4aGiIiIJI8NDS1YJSUlkls2nYjci7lAzrChISIiIsnjOjS0YAiCgPLycjQ1NSEiIgJ2ux27d+/GwMAA9Ho9LBYLIiIiUFVVhcbGRrS1tUGn0wEArl27Bn9/fxQXF4s8CiJyJeYCzRdnaGjBaGhoQHd3N+rq6nDlyhUMDg7Cbrejr68Pd+/eRUNDA5YtW4ZHjx4hJycHer3esax6XV0ddu3aJfIIiMjVmAs0X9z6gBaM9vZ27NixA35+fggLC8PWrVshl8tx+vRp3L9/H/39/ejo6MDy5csRFBSE9PR0PH36FCqVCiqVCkqlUuwhEJGLMRdovjhDQwuGTCbDv++A+vr6wmw248iRI5ienkZ2djYyMzMd5xQUFKCurg6PHz9e1HvFEHkz5gLNFxsaWjA2bdqEJ0+e4Pv377BYLHj16hVkMhk2bNiAPXv2ICoqCk1NTbDb7QAAtVoNk8kEg8GwqDcFJPJmzAWaL95yogUjMzMTnZ2dyM3NRXh4OKKjo2Gz2dDT04O8vDwAwJo1axy7+QJAVlYWzGbzgtvGnohcg7lA88VvOZEkCYKAqakpHDp0CGfPnkV8fLzYJRGRyJgL3o23nEiSPn/+jM2bNyMxMZGhRUQAmAvejjM0REREJHmcoSEiIiLJY0NDREREkseGhoiIiCSPDQ0RERFJHhsaIiIikjw2NERERCR5/wMAvVgIgYjzwgAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x18f386b99e8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#除了根据time在一个面内将不同的柱分组为不同颜色，还可以通过每个时间值添加一行来扩展分面网格\n",
    "sns.factorplot(x='day', y='tip_pct', row='time',\n",
    "               col='smoker',\n",
    "               kind='bar', data=tips[tips.tip_pct < 1])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 96,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<seaborn.axisgrid.FacetGrid at 0x18f3893ccc0>"
      ]
     },
     "execution_count": 96,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x18f3899ea20>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.factorplot(x='tip_pct', y='day', kind='box',\n",
    "               data=tips[tips.tip_pct < 0.5])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 第 10章\n",
    "import pandas as pd\n",
    "import numpy as np"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "#GroupBy机制\n",
    "df = pd.DataFrame({'key1' : ['a', 'a', 'b', 'b', 'a'],\n",
    "                   'key2' : ['one', 'two', 'one', 'two', 'one'],\n",
    "                   'data1' : np.random.randn(5),\n",
    "                   'data2' : np.random.randn(5)})"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>data1</th>\n",
       "      <th>data2</th>\n",
       "      <th>key1</th>\n",
       "      <th>key2</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0.830164</td>\n",
       "      <td>-0.211493</td>\n",
       "      <td>a</td>\n",
       "      <td>one</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0.808094</td>\n",
       "      <td>-0.674214</td>\n",
       "      <td>a</td>\n",
       "      <td>two</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>-1.429120</td>\n",
       "      <td>0.387239</td>\n",
       "      <td>b</td>\n",
       "      <td>one</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>-1.376909</td>\n",
       "      <td>-0.034335</td>\n",
       "      <td>b</td>\n",
       "      <td>two</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0.455180</td>\n",
       "      <td>-2.072961</td>\n",
       "      <td>a</td>\n",
       "      <td>one</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "      data1     data2 key1 key2\n",
       "0  0.830164 -0.211493    a  one\n",
       "1  0.808094 -0.674214    a  two\n",
       "2 -1.429120  0.387239    b  one\n",
       "3 -1.376909 -0.034335    b  two\n",
       "4  0.455180 -2.072961    a  one"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "#根据key1标签计算data1列的均值。访问data1并使用key1列调用groupby方法\n",
    "grouped = df['data1'].groupby(df['key1'])\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<pandas.core.groupby.SeriesGroupBy object at 0x0000013B7C0EB320>"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "grouped"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "key1\n",
       "a    0.697813\n",
       "b   -1.403015\n",
       "Name: data1, dtype: float64"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#计算分组均值\n",
    "grouped.mean()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "#将多个数组作为列表传入\n",
    "means = df['data1'].groupby([df['key1'], df['key2']]).mean()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "key1  key2\n",
       "a     one     0.642672\n",
       "      two     0.808094\n",
       "b     one    -1.429120\n",
       "      two    -1.376909\n",
       "Name: data1, dtype: float64"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "means"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th>key2</th>\n",
       "      <th>one</th>\n",
       "      <th>two</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>key1</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>a</th>\n",
       "      <td>0.642672</td>\n",
       "      <td>0.808094</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>b</th>\n",
       "      <td>-1.429120</td>\n",
       "      <td>-1.376909</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "key2       one       two\n",
       "key1                    \n",
       "a     0.642672  0.808094\n",
       "b    -1.429120 -1.376909"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#使用两个键对数据进行分组，并且结果Serides现在拥有一个包含唯一键对的多层索引\n",
    "means.unstack()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [],
   "source": [
    "states = np.array(['Ohio', 'California', 'California', 'Ohio', 'Ohio'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "years = np.array([2005, 2005, 2006, 2005, 2006])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "California  2005    0.808094\n",
       "            2006   -1.429120\n",
       "Ohio        2005   -0.273373\n",
       "            2006    0.455180\n",
       "Name: data1, dtype: float64"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df['data1'].groupby([states, years]).mean()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>data1</th>\n",
       "      <th>data2</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>key1</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>a</th>\n",
       "      <td>0.697813</td>\n",
       "      <td>-0.986223</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>b</th>\n",
       "      <td>-1.403015</td>\n",
       "      <td>0.176452</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "         data1     data2\n",
       "key1                    \n",
       "a     0.697813 -0.986223\n",
       "b    -1.403015  0.176452"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#传递列名\n",
    "df.groupby('key1').mean()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th>data1</th>\n",
       "      <th>data2</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>key1</th>\n",
       "      <th>key2</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">a</th>\n",
       "      <th>one</th>\n",
       "      <td>0.642672</td>\n",
       "      <td>-1.142227</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>two</th>\n",
       "      <td>0.808094</td>\n",
       "      <td>-0.674214</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">b</th>\n",
       "      <th>one</th>\n",
       "      <td>-1.429120</td>\n",
       "      <td>0.387239</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>two</th>\n",
       "      <td>-1.376909</td>\n",
       "      <td>-0.034335</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "              data1     data2\n",
       "key1 key2                    \n",
       "a    one   0.642672 -1.142227\n",
       "     two   0.808094 -0.674214\n",
       "b    one  -1.429120  0.387239\n",
       "     two  -1.376909 -0.034335"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.groupby(['key1', 'key2']).mean()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "key1  key2\n",
       "a     one     2\n",
       "      two     1\n",
       "b     one     1\n",
       "      two     1\n",
       "dtype: int64"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#groupby通用方法是size， size方法返回一个包含组大小信息的Series\n",
    "#分组键中的任何缺失值将被排除在结果之外\n",
    "df.groupby(['key1', 'key2']).size()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "a\n",
      "      data1     data2 key1 key2\n",
      "0  0.830164 -0.211493    a  one\n",
      "1  0.808094 -0.674214    a  two\n",
      "4  0.455180 -2.072961    a  one\n",
      "b\n",
      "      data1     data2 key1 key2\n",
      "2 -1.429120  0.387239    b  one\n",
      "3 -1.376909 -0.034335    b  two\n"
     ]
    }
   ],
   "source": [
    "#groupby对象支持迭代，会生成一个包含组名和数据块的2维元组序列\n",
    "for name, group in df.groupby('key1'):\n",
    "    print(name)\n",
    "    print(group)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>data1</th>\n",
       "      <th>data2</th>\n",
       "      <th>key1</th>\n",
       "      <th>key2</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>-1.429120</td>\n",
       "      <td>0.387239</td>\n",
       "      <td>b</td>\n",
       "      <td>one</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>-1.376909</td>\n",
       "      <td>-0.034335</td>\n",
       "      <td>b</td>\n",
       "      <td>two</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "      data1     data2 key1 key2\n",
       "2 -1.429120  0.387239    b  one\n",
       "3 -1.376909 -0.034335    b  two"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pieces = dict(list(df.groupby('key1')))\n",
    "pieces['b']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [],
   "source": [
    "df.dtypes\n",
    "grouped = df.groupby(df.dtypes, axis=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "float64\n",
      "      data1     data2\n",
      "0  0.830164 -0.211493\n",
      "1  0.808094 -0.674214\n",
      "2 -1.429120  0.387239\n",
      "3 -1.376909 -0.034335\n",
      "4  0.455180 -2.072961\n",
      "object\n",
      "  key1 key2\n",
      "0    a  one\n",
      "1    a  two\n",
      "2    b  one\n",
      "3    b  two\n",
      "4    a  one\n"
     ]
    }
   ],
   "source": [
    "for dtype, group in grouped:\n",
    "    print(dtype)\n",
    "    print(group)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th>data2</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>key1</th>\n",
       "      <th>key2</th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">a</th>\n",
       "      <th>one</th>\n",
       "      <td>-1.142227</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>two</th>\n",
       "      <td>-0.674214</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">b</th>\n",
       "      <th>one</th>\n",
       "      <td>0.387239</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>two</th>\n",
       "      <td>-0.034335</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "              data2\n",
       "key1 key2          \n",
       "a    one  -1.142227\n",
       "     two  -0.674214\n",
       "b    one   0.387239\n",
       "     two  -0.034335"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#在处理数据集时，要计算data2列的均值，并获得DataFrame形式的结果\n",
    "df.groupby(['key1', 'key2'])[['data2']].mean()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "#如果传递的是列表或数组，则此索引操作返回的对象是分组的DataFrame；如果只有单个列名作为标量传递，则分组为Series"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "key1  key2\n",
       "a     one    -1.142227\n",
       "      two    -0.674214\n",
       "b     one     0.387239\n",
       "      two    -0.034335\n",
       "Name: data2, dtype: float64"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "s_grouped = df.groupby(['key1', 'key2'])['data2']\n",
    "s_grouped\n",
    "s_grouped.mean()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [],
   "source": [
    "#使用字典和Series分组\n",
    "#\n",
    "\n",
    "people = pd.DataFrame(np.random.randn(5, 5),\n",
    "                      columns=['a', 'b', 'c', 'd', 'e'],\n",
    "                      index=['Joe', 'Steve', 'Wes', 'Jim', 'Travis'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [],
   "source": [
    "people.iloc[2:3, [1, 2]] = np.nan "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>a</th>\n",
       "      <th>b</th>\n",
       "      <th>c</th>\n",
       "      <th>d</th>\n",
       "      <th>e</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>Joe</th>\n",
       "      <td>0.580697</td>\n",
       "      <td>-0.446050</td>\n",
       "      <td>0.454846</td>\n",
       "      <td>-0.627634</td>\n",
       "      <td>0.565793</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Steve</th>\n",
       "      <td>0.301866</td>\n",
       "      <td>1.921912</td>\n",
       "      <td>-0.012417</td>\n",
       "      <td>2.605726</td>\n",
       "      <td>-0.186225</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Wes</th>\n",
       "      <td>1.183247</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.594896</td>\n",
       "      <td>0.373488</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Jim</th>\n",
       "      <td>-0.440638</td>\n",
       "      <td>-2.554073</td>\n",
       "      <td>-0.414718</td>\n",
       "      <td>0.837184</td>\n",
       "      <td>-0.012103</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Travis</th>\n",
       "      <td>-1.176914</td>\n",
       "      <td>-0.396536</td>\n",
       "      <td>-0.008498</td>\n",
       "      <td>0.774712</td>\n",
       "      <td>0.559405</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "               a         b         c         d         e\n",
       "Joe     0.580697 -0.446050  0.454846 -0.627634  0.565793\n",
       "Steve   0.301866  1.921912 -0.012417  2.605726 -0.186225\n",
       "Wes     1.183247       NaN       NaN  0.594896  0.373488\n",
       "Jim    -0.440638 -2.554073 -0.414718  0.837184 -0.012103\n",
       "Travis -1.176914 -0.396536 -0.008498  0.774712  0.559405"
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "people"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [],
   "source": [
    "mapping = {'a': 'red', 'b': 'red', 'c': 'blue',\n",
    "           'd': 'blue', 'e': 'red', 'f' : 'orange'}"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [],
   "source": [
    "by_column = people.groupby(mapping, axis=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>blue</th>\n",
       "      <th>red</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>Joe</th>\n",
       "      <td>-0.172788</td>\n",
       "      <td>0.700440</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Steve</th>\n",
       "      <td>2.593308</td>\n",
       "      <td>2.037552</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Wes</th>\n",
       "      <td>0.594896</td>\n",
       "      <td>1.556735</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Jim</th>\n",
       "      <td>0.422466</td>\n",
       "      <td>-3.006814</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Travis</th>\n",
       "      <td>0.766214</td>\n",
       "      <td>-1.014045</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "            blue       red\n",
       "Joe    -0.172788  0.700440\n",
       "Steve   2.593308  2.037552\n",
       "Wes     0.594896  1.556735\n",
       "Jim     0.422466 -3.006814\n",
       "Travis  0.766214 -1.014045"
      ]
     },
     "execution_count": 28,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "by_column.sum()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [],
   "source": [
    "map_series = pd.Series(mapping)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "a       red\n",
       "b       red\n",
       "c      blue\n",
       "d      blue\n",
       "e       red\n",
       "f    orange\n",
       "dtype: object"
      ]
     },
     "execution_count": 30,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "map_series"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>blue</th>\n",
       "      <th>red</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>Joe</th>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Steve</th>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Wes</th>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Jim</th>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Travis</th>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "        blue  red\n",
       "Joe        2    3\n",
       "Steve      2    3\n",
       "Wes        1    2\n",
       "Jim        2    3\n",
       "Travis     2    3"
      ]
     },
     "execution_count": 31,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "people.groupby(map_series, axis=1).count()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>a</th>\n",
       "      <th>b</th>\n",
       "      <th>c</th>\n",
       "      <th>d</th>\n",
       "      <th>e</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1.323306</td>\n",
       "      <td>-3.000123</td>\n",
       "      <td>0.040128</td>\n",
       "      <td>0.804446</td>\n",
       "      <td>0.927178</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>0.301866</td>\n",
       "      <td>1.921912</td>\n",
       "      <td>-0.012417</td>\n",
       "      <td>2.605726</td>\n",
       "      <td>-0.186225</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>-1.176914</td>\n",
       "      <td>-0.396536</td>\n",
       "      <td>-0.008498</td>\n",
       "      <td>0.774712</td>\n",
       "      <td>0.559405</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "          a         b         c         d         e\n",
       "3  1.323306 -3.000123  0.040128  0.804446  0.927178\n",
       "5  0.301866  1.921912 -0.012417  2.605726 -0.186225\n",
       "6 -1.176914 -0.396536 -0.008498  0.774712  0.559405"
      ]
     },
     "execution_count": 32,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#使用函数分组\n",
    "people.groupby(len).sum()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th>a</th>\n",
       "      <th>b</th>\n",
       "      <th>c</th>\n",
       "      <th>d</th>\n",
       "      <th>e</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">3</th>\n",
       "      <th>one</th>\n",
       "      <td>0.580697</td>\n",
       "      <td>-0.446050</td>\n",
       "      <td>0.454846</td>\n",
       "      <td>-0.627634</td>\n",
       "      <td>0.373488</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>two</th>\n",
       "      <td>-0.440638</td>\n",
       "      <td>-2.554073</td>\n",
       "      <td>-0.414718</td>\n",
       "      <td>0.837184</td>\n",
       "      <td>-0.012103</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <th>one</th>\n",
       "      <td>0.301866</td>\n",
       "      <td>1.921912</td>\n",
       "      <td>-0.012417</td>\n",
       "      <td>2.605726</td>\n",
       "      <td>-0.186225</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <th>two</th>\n",
       "      <td>-1.176914</td>\n",
       "      <td>-0.396536</td>\n",
       "      <td>-0.008498</td>\n",
       "      <td>0.774712</td>\n",
       "      <td>0.559405</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "              a         b         c         d         e\n",
       "3 one  0.580697 -0.446050  0.454846 -0.627634  0.373488\n",
       "  two -0.440638 -2.554073 -0.414718  0.837184 -0.012103\n",
       "5 one  0.301866  1.921912 -0.012417  2.605726 -0.186225\n",
       "6 two -1.176914 -0.396536 -0.008498  0.774712  0.559405"
      ]
     },
     "execution_count": 33,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "key_list = ['one', 'one', 'one', 'two', 'two']\n",
    "people.groupby([len, key_list]).min()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [],
   "source": [
    "#根据索引层级分组\n",
    "#分层索引的数据集有一个非常方便的地方，就是能够在轴索引的某个层级上进行聚合\n",
    "columns = pd.MultiIndex.from_arrays([['US', 'US', 'US', 'JP', 'JP'],\n",
    "                                    [1, 3, 5, 1, 3]],\n",
    "                                    names=['cty', 'tenor'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [],
   "source": [
    "hier_df = pd.DataFrame(np.random.randn(4, 5), columns=columns)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr th {\n",
       "        text-align: left;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr>\n",
       "      <th>cty</th>\n",
       "      <th colspan=\"3\" halign=\"left\">US</th>\n",
       "      <th colspan=\"2\" halign=\"left\">JP</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>tenor</th>\n",
       "      <th>1</th>\n",
       "      <th>3</th>\n",
       "      <th>5</th>\n",
       "      <th>1</th>\n",
       "      <th>3</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0.879289</td>\n",
       "      <td>0.775550</td>\n",
       "      <td>0.579600</td>\n",
       "      <td>0.332570</td>\n",
       "      <td>0.529623</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>-1.258533</td>\n",
       "      <td>1.166661</td>\n",
       "      <td>0.527486</td>\n",
       "      <td>-1.701479</td>\n",
       "      <td>-0.848033</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>-0.082678</td>\n",
       "      <td>-0.661814</td>\n",
       "      <td>-1.033622</td>\n",
       "      <td>-0.585561</td>\n",
       "      <td>-1.190340</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>-0.332748</td>\n",
       "      <td>0.623749</td>\n",
       "      <td>1.587480</td>\n",
       "      <td>0.960210</td>\n",
       "      <td>-1.435139</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "cty          US                            JP          \n",
       "tenor         1         3         5         1         3\n",
       "0      0.879289  0.775550  0.579600  0.332570  0.529623\n",
       "1     -1.258533  1.166661  0.527486 -1.701479 -0.848033\n",
       "2     -0.082678 -0.661814 -1.033622 -0.585561 -1.190340\n",
       "3     -0.332748  0.623749  1.587480  0.960210 -1.435139"
      ]
     },
     "execution_count": 36,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "hier_df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th>cty</th>\n",
       "      <th>JP</th>\n",
       "      <th>US</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "cty  JP  US\n",
       "0     2   3\n",
       "1     2   3\n",
       "2     2   3\n",
       "3     2   3"
      ]
     },
     "execution_count": 37,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#将层级数值或层级名称传递给level关键词\n",
    "hier_df.groupby(level='cty', axis=1).count()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>data1</th>\n",
       "      <th>data2</th>\n",
       "      <th>key1</th>\n",
       "      <th>key2</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0.830164</td>\n",
       "      <td>-0.211493</td>\n",
       "      <td>a</td>\n",
       "      <td>one</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0.808094</td>\n",
       "      <td>-0.674214</td>\n",
       "      <td>a</td>\n",
       "      <td>two</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>-1.429120</td>\n",
       "      <td>0.387239</td>\n",
       "      <td>b</td>\n",
       "      <td>one</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>-1.376909</td>\n",
       "      <td>-0.034335</td>\n",
       "      <td>b</td>\n",
       "      <td>two</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0.455180</td>\n",
       "      <td>-2.072961</td>\n",
       "      <td>a</td>\n",
       "      <td>one</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "      data1     data2 key1 key2\n",
       "0  0.830164 -0.211493    a  one\n",
       "1  0.808094 -0.674214    a  two\n",
       "2 -1.429120  0.387239    b  one\n",
       "3 -1.376909 -0.034335    b  two\n",
       "4  0.455180 -2.072961    a  one"
      ]
     },
     "execution_count": 38,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "##数据聚合\n",
    "df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [],
   "source": [
    "grouped = df.groupby('key1')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "key1\n",
       "a    0.82575\n",
       "b   -1.38213\n",
       "Name: data1, dtype: float64"
      ]
     },
     "execution_count": 40,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "grouped['data1'].quantile(0.9)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>data1</th>\n",
       "      <th>data2</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>key1</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>a</th>\n",
       "      <td>0.374984</td>\n",
       "      <td>1.861468</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>b</th>\n",
       "      <td>0.052211</td>\n",
       "      <td>0.421575</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "         data1     data2\n",
       "key1                    \n",
       "a     0.374984  1.861468\n",
       "b     0.052211  0.421575"
      ]
     },
     "execution_count": 41,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#要使用自己的聚合函数，需要将函数传递给aggregate或agg方法\n",
    "def peak_to_peak(arr):\n",
    "    return arr.max() - arr.min()\n",
    "grouped.agg(peak_to_peak)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr:last-of-type th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th colspan=\"8\" halign=\"left\">data1</th>\n",
       "      <th colspan=\"8\" halign=\"left\">data2</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th>count</th>\n",
       "      <th>mean</th>\n",
       "      <th>std</th>\n",
       "      <th>min</th>\n",
       "      <th>25%</th>\n",
       "      <th>50%</th>\n",
       "      <th>75%</th>\n",
       "      <th>max</th>\n",
       "      <th>count</th>\n",
       "      <th>mean</th>\n",
       "      <th>std</th>\n",
       "      <th>min</th>\n",
       "      <th>25%</th>\n",
       "      <th>50%</th>\n",
       "      <th>75%</th>\n",
       "      <th>max</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>key1</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>a</th>\n",
       "      <td>3.0</td>\n",
       "      <td>0.697813</td>\n",
       "      <td>0.210416</td>\n",
       "      <td>0.45518</td>\n",
       "      <td>0.631637</td>\n",
       "      <td>0.808094</td>\n",
       "      <td>0.819129</td>\n",
       "      <td>0.830164</td>\n",
       "      <td>3.0</td>\n",
       "      <td>-0.986223</td>\n",
       "      <td>0.969164</td>\n",
       "      <td>-2.072961</td>\n",
       "      <td>-1.373588</td>\n",
       "      <td>-0.674214</td>\n",
       "      <td>-0.442854</td>\n",
       "      <td>-0.211493</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>b</th>\n",
       "      <td>2.0</td>\n",
       "      <td>-1.403015</td>\n",
       "      <td>0.036919</td>\n",
       "      <td>-1.42912</td>\n",
       "      <td>-1.416067</td>\n",
       "      <td>-1.403015</td>\n",
       "      <td>-1.389962</td>\n",
       "      <td>-1.376909</td>\n",
       "      <td>2.0</td>\n",
       "      <td>0.176452</td>\n",
       "      <td>0.298098</td>\n",
       "      <td>-0.034335</td>\n",
       "      <td>0.071059</td>\n",
       "      <td>0.176452</td>\n",
       "      <td>0.281846</td>\n",
       "      <td>0.387239</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "     data1                                                             \\\n",
       "     count      mean       std      min       25%       50%       75%   \n",
       "key1                                                                    \n",
       "a      3.0  0.697813  0.210416  0.45518  0.631637  0.808094  0.819129   \n",
       "b      2.0 -1.403015  0.036919 -1.42912 -1.416067 -1.403015 -1.389962   \n",
       "\n",
       "               data2                                                    \\\n",
       "           max count      mean       std       min       25%       50%   \n",
       "key1                                                                     \n",
       "a     0.830164   3.0 -0.986223  0.969164 -2.072961 -1.373588 -0.674214   \n",
       "b    -1.376909   2.0  0.176452  0.298098 -0.034335  0.071059  0.176452   \n",
       "\n",
       "                          \n",
       "           75%       max  \n",
       "key1                      \n",
       "a    -0.442854 -0.211493  \n",
       "b     0.281846  0.387239  "
      ]
     },
     "execution_count": 42,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "grouped.describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>total_bill</th>\n",
       "      <th>tip</th>\n",
       "      <th>smoker</th>\n",
       "      <th>day</th>\n",
       "      <th>time</th>\n",
       "      <th>size</th>\n",
       "      <th>tip_pct</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>16.99</td>\n",
       "      <td>1.01</td>\n",
       "      <td>No</td>\n",
       "      <td>Sun</td>\n",
       "      <td>Dinner</td>\n",
       "      <td>2</td>\n",
       "      <td>0.059447</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>10.34</td>\n",
       "      <td>1.66</td>\n",
       "      <td>No</td>\n",
       "      <td>Sun</td>\n",
       "      <td>Dinner</td>\n",
       "      <td>3</td>\n",
       "      <td>0.160542</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>21.01</td>\n",
       "      <td>3.50</td>\n",
       "      <td>No</td>\n",
       "      <td>Sun</td>\n",
       "      <td>Dinner</td>\n",
       "      <td>3</td>\n",
       "      <td>0.166587</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>23.68</td>\n",
       "      <td>3.31</td>\n",
       "      <td>No</td>\n",
       "      <td>Sun</td>\n",
       "      <td>Dinner</td>\n",
       "      <td>2</td>\n",
       "      <td>0.139780</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>24.59</td>\n",
       "      <td>3.61</td>\n",
       "      <td>No</td>\n",
       "      <td>Sun</td>\n",
       "      <td>Dinner</td>\n",
       "      <td>4</td>\n",
       "      <td>0.146808</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>25.29</td>\n",
       "      <td>4.71</td>\n",
       "      <td>No</td>\n",
       "      <td>Sun</td>\n",
       "      <td>Dinner</td>\n",
       "      <td>4</td>\n",
       "      <td>0.186240</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   total_bill   tip smoker  day    time  size   tip_pct\n",
       "0       16.99  1.01     No  Sun  Dinner     2  0.059447\n",
       "1       10.34  1.66     No  Sun  Dinner     3  0.160542\n",
       "2       21.01  3.50     No  Sun  Dinner     3  0.166587\n",
       "3       23.68  3.31     No  Sun  Dinner     2  0.139780\n",
       "4       24.59  3.61     No  Sun  Dinner     4  0.146808\n",
       "5       25.29  4.71     No  Sun  Dinner     4  0.186240"
      ]
     },
     "execution_count": 44,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#逐列及多函数应用\n",
    "\n",
    "tips = pd.read_csv(r'D:\\pydata-book-2nd-edition\\pydata-book-2nd-edition\\examples\\tips.csv')\n",
    "# 添加总账单的小费比例\n",
    "tips['tip_pct'] = tips['tip'] / tips['total_bill']\n",
    "tips[:6]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {},
   "outputs": [],
   "source": [
    "grouped = tips.groupby(['day', 'smoker'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {},
   "outputs": [],
   "source": [
    "grouped_pct = grouped['tip_pct']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "day   smoker\n",
       "Fri   No        0.151650\n",
       "      Yes       0.174783\n",
       "Sat   No        0.158048\n",
       "      Yes       0.147906\n",
       "Sun   No        0.160113\n",
       "      Yes       0.187250\n",
       "Thur  No        0.160298\n",
       "      Yes       0.163863\n",
       "Name: tip_pct, dtype: float64"
      ]
     },
     "execution_count": 47,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "grouped_pct.agg('mean')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th>mean</th>\n",
       "      <th>std</th>\n",
       "      <th>peak_to_peak</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>day</th>\n",
       "      <th>smoker</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">Fri</th>\n",
       "      <th>No</th>\n",
       "      <td>0.151650</td>\n",
       "      <td>0.028123</td>\n",
       "      <td>0.067349</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Yes</th>\n",
       "      <td>0.174783</td>\n",
       "      <td>0.051293</td>\n",
       "      <td>0.159925</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">Sat</th>\n",
       "      <th>No</th>\n",
       "      <td>0.158048</td>\n",
       "      <td>0.039767</td>\n",
       "      <td>0.235193</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Yes</th>\n",
       "      <td>0.147906</td>\n",
       "      <td>0.061375</td>\n",
       "      <td>0.290095</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">Sun</th>\n",
       "      <th>No</th>\n",
       "      <td>0.160113</td>\n",
       "      <td>0.042347</td>\n",
       "      <td>0.193226</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Yes</th>\n",
       "      <td>0.187250</td>\n",
       "      <td>0.154134</td>\n",
       "      <td>0.644685</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">Thur</th>\n",
       "      <th>No</th>\n",
       "      <td>0.160298</td>\n",
       "      <td>0.038774</td>\n",
       "      <td>0.193350</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Yes</th>\n",
       "      <td>0.163863</td>\n",
       "      <td>0.039389</td>\n",
       "      <td>0.151240</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                 mean       std  peak_to_peak\n",
       "day  smoker                                  \n",
       "Fri  No      0.151650  0.028123      0.067349\n",
       "     Yes     0.174783  0.051293      0.159925\n",
       "Sat  No      0.158048  0.039767      0.235193\n",
       "     Yes     0.147906  0.061375      0.290095\n",
       "Sun  No      0.160113  0.042347      0.193226\n",
       "     Yes     0.187250  0.154134      0.644685\n",
       "Thur No      0.160298  0.038774      0.193350\n",
       "     Yes     0.163863  0.039389      0.151240"
      ]
     },
     "execution_count": 48,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#如果传递的是函数或函数名的列表，会获得一个列名是这些函数名的DataFrame\n",
    "grouped_pct.agg(['mean', 'std', peak_to_peak])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th>foo</th>\n",
       "      <th>bar</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>day</th>\n",
       "      <th>smoker</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">Fri</th>\n",
       "      <th>No</th>\n",
       "      <td>0.151650</td>\n",
       "      <td>0.028123</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Yes</th>\n",
       "      <td>0.174783</td>\n",
       "      <td>0.051293</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">Sat</th>\n",
       "      <th>No</th>\n",
       "      <td>0.158048</td>\n",
       "      <td>0.039767</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Yes</th>\n",
       "      <td>0.147906</td>\n",
       "      <td>0.061375</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">Sun</th>\n",
       "      <th>No</th>\n",
       "      <td>0.160113</td>\n",
       "      <td>0.042347</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Yes</th>\n",
       "      <td>0.187250</td>\n",
       "      <td>0.154134</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">Thur</th>\n",
       "      <th>No</th>\n",
       "      <td>0.160298</td>\n",
       "      <td>0.038774</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Yes</th>\n",
       "      <td>0.163863</td>\n",
       "      <td>0.039389</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                  foo       bar\n",
       "day  smoker                    \n",
       "Fri  No      0.151650  0.028123\n",
       "     Yes     0.174783  0.051293\n",
       "Sat  No      0.158048  0.039767\n",
       "     Yes     0.147906  0.061375\n",
       "Sun  No      0.160113  0.042347\n",
       "     Yes     0.187250  0.154134\n",
       "Thur No      0.160298  0.038774\n",
       "     Yes     0.163863  0.039389"
      ]
     },
     "execution_count": 49,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "grouped_pct.agg([('foo', 'mean'), ('bar', np.std)])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "metadata": {},
   "outputs": [],
   "source": [
    "functions = ['count', 'mean', 'max']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "metadata": {},
   "outputs": [],
   "source": [
    "result = grouped['tip_pct', 'total_bill'].agg(functions)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr:last-of-type th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th colspan=\"3\" halign=\"left\">tip_pct</th>\n",
       "      <th colspan=\"3\" halign=\"left\">total_bill</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th>count</th>\n",
       "      <th>mean</th>\n",
       "      <th>max</th>\n",
       "      <th>count</th>\n",
       "      <th>mean</th>\n",
       "      <th>max</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>day</th>\n",
       "      <th>smoker</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">Fri</th>\n",
       "      <th>No</th>\n",
       "      <td>4</td>\n",
       "      <td>0.151650</td>\n",
       "      <td>0.187735</td>\n",
       "      <td>4</td>\n",
       "      <td>18.420000</td>\n",
       "      <td>22.75</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Yes</th>\n",
       "      <td>15</td>\n",
       "      <td>0.174783</td>\n",
       "      <td>0.263480</td>\n",
       "      <td>15</td>\n",
       "      <td>16.813333</td>\n",
       "      <td>40.17</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">Sat</th>\n",
       "      <th>No</th>\n",
       "      <td>45</td>\n",
       "      <td>0.158048</td>\n",
       "      <td>0.291990</td>\n",
       "      <td>45</td>\n",
       "      <td>19.661778</td>\n",
       "      <td>48.33</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Yes</th>\n",
       "      <td>42</td>\n",
       "      <td>0.147906</td>\n",
       "      <td>0.325733</td>\n",
       "      <td>42</td>\n",
       "      <td>21.276667</td>\n",
       "      <td>50.81</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">Sun</th>\n",
       "      <th>No</th>\n",
       "      <td>57</td>\n",
       "      <td>0.160113</td>\n",
       "      <td>0.252672</td>\n",
       "      <td>57</td>\n",
       "      <td>20.506667</td>\n",
       "      <td>48.17</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Yes</th>\n",
       "      <td>19</td>\n",
       "      <td>0.187250</td>\n",
       "      <td>0.710345</td>\n",
       "      <td>19</td>\n",
       "      <td>24.120000</td>\n",
       "      <td>45.35</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">Thur</th>\n",
       "      <th>No</th>\n",
       "      <td>45</td>\n",
       "      <td>0.160298</td>\n",
       "      <td>0.266312</td>\n",
       "      <td>45</td>\n",
       "      <td>17.113111</td>\n",
       "      <td>41.19</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Yes</th>\n",
       "      <td>17</td>\n",
       "      <td>0.163863</td>\n",
       "      <td>0.241255</td>\n",
       "      <td>17</td>\n",
       "      <td>19.190588</td>\n",
       "      <td>43.11</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "            tip_pct                     total_bill                  \n",
       "              count      mean       max      count       mean    max\n",
       "day  smoker                                                         \n",
       "Fri  No           4  0.151650  0.187735          4  18.420000  22.75\n",
       "     Yes         15  0.174783  0.263480         15  16.813333  40.17\n",
       "Sat  No          45  0.158048  0.291990         45  19.661778  48.33\n",
       "     Yes         42  0.147906  0.325733         42  21.276667  50.81\n",
       "Sun  No          57  0.160113  0.252672         57  20.506667  48.17\n",
       "     Yes         19  0.187250  0.710345         19  24.120000  45.35\n",
       "Thur No          45  0.160298  0.266312         45  17.113111  41.19\n",
       "     Yes         17  0.163863  0.241255         17  19.190588  43.11"
      ]
     },
     "execution_count": 52,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "result"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th>count</th>\n",
       "      <th>mean</th>\n",
       "      <th>max</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>day</th>\n",
       "      <th>smoker</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">Fri</th>\n",
       "      <th>No</th>\n",
       "      <td>4</td>\n",
       "      <td>0.151650</td>\n",
       "      <td>0.187735</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Yes</th>\n",
       "      <td>15</td>\n",
       "      <td>0.174783</td>\n",
       "      <td>0.263480</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">Sat</th>\n",
       "      <th>No</th>\n",
       "      <td>45</td>\n",
       "      <td>0.158048</td>\n",
       "      <td>0.291990</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Yes</th>\n",
       "      <td>42</td>\n",
       "      <td>0.147906</td>\n",
       "      <td>0.325733</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">Sun</th>\n",
       "      <th>No</th>\n",
       "      <td>57</td>\n",
       "      <td>0.160113</td>\n",
       "      <td>0.252672</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Yes</th>\n",
       "      <td>19</td>\n",
       "      <td>0.187250</td>\n",
       "      <td>0.710345</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">Thur</th>\n",
       "      <th>No</th>\n",
       "      <td>45</td>\n",
       "      <td>0.160298</td>\n",
       "      <td>0.266312</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Yes</th>\n",
       "      <td>17</td>\n",
       "      <td>0.163863</td>\n",
       "      <td>0.241255</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "             count      mean       max\n",
       "day  smoker                           \n",
       "Fri  No          4  0.151650  0.187735\n",
       "     Yes        15  0.174783  0.263480\n",
       "Sat  No         45  0.158048  0.291990\n",
       "     Yes        42  0.147906  0.325733\n",
       "Sun  No         57  0.160113  0.252672\n",
       "     Yes        19  0.187250  0.710345\n",
       "Thur No         45  0.160298  0.266312\n",
       "     Yes        17  0.163863  0.241255"
      ]
     },
     "execution_count": 53,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "result['tip_pct']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 54,
   "metadata": {},
   "outputs": [],
   "source": [
    "ftuples = [('Durchschnitt', 'mean'), ('Abweichung', np.var)]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr:last-of-type th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th colspan=\"2\" halign=\"left\">tip_pct</th>\n",
       "      <th colspan=\"2\" halign=\"left\">total_bill</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th>Durchschnitt</th>\n",
       "      <th>Abweichung</th>\n",
       "      <th>Durchschnitt</th>\n",
       "      <th>Abweichung</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>day</th>\n",
       "      <th>smoker</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">Fri</th>\n",
       "      <th>No</th>\n",
       "      <td>0.151650</td>\n",
       "      <td>0.000791</td>\n",
       "      <td>18.420000</td>\n",
       "      <td>25.596333</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Yes</th>\n",
       "      <td>0.174783</td>\n",
       "      <td>0.002631</td>\n",
       "      <td>16.813333</td>\n",
       "      <td>82.562438</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">Sat</th>\n",
       "      <th>No</th>\n",
       "      <td>0.158048</td>\n",
       "      <td>0.001581</td>\n",
       "      <td>19.661778</td>\n",
       "      <td>79.908965</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Yes</th>\n",
       "      <td>0.147906</td>\n",
       "      <td>0.003767</td>\n",
       "      <td>21.276667</td>\n",
       "      <td>101.387535</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">Sun</th>\n",
       "      <th>No</th>\n",
       "      <td>0.160113</td>\n",
       "      <td>0.001793</td>\n",
       "      <td>20.506667</td>\n",
       "      <td>66.099980</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Yes</th>\n",
       "      <td>0.187250</td>\n",
       "      <td>0.023757</td>\n",
       "      <td>24.120000</td>\n",
       "      <td>109.046044</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">Thur</th>\n",
       "      <th>No</th>\n",
       "      <td>0.160298</td>\n",
       "      <td>0.001503</td>\n",
       "      <td>17.113111</td>\n",
       "      <td>59.625081</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Yes</th>\n",
       "      <td>0.163863</td>\n",
       "      <td>0.001551</td>\n",
       "      <td>19.190588</td>\n",
       "      <td>69.808518</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                 tip_pct              total_bill            \n",
       "            Durchschnitt Abweichung Durchschnitt  Abweichung\n",
       "day  smoker                                                 \n",
       "Fri  No         0.151650   0.000791    18.420000   25.596333\n",
       "     Yes        0.174783   0.002631    16.813333   82.562438\n",
       "Sat  No         0.158048   0.001581    19.661778   79.908965\n",
       "     Yes        0.147906   0.003767    21.276667  101.387535\n",
       "Sun  No         0.160113   0.001793    20.506667   66.099980\n",
       "     Yes        0.187250   0.023757    24.120000  109.046044\n",
       "Thur No         0.160298   0.001503    17.113111   59.625081\n",
       "     Yes        0.163863   0.001551    19.190588   69.808518"
      ]
     },
     "execution_count": 55,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "grouped['tip_pct', 'total_bill'].agg(ftuples)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th>tip</th>\n",
       "      <th>size</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>day</th>\n",
       "      <th>smoker</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">Fri</th>\n",
       "      <th>No</th>\n",
       "      <td>3.50</td>\n",
       "      <td>9</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Yes</th>\n",
       "      <td>4.73</td>\n",
       "      <td>31</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">Sat</th>\n",
       "      <th>No</th>\n",
       "      <td>9.00</td>\n",
       "      <td>115</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Yes</th>\n",
       "      <td>10.00</td>\n",
       "      <td>104</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">Sun</th>\n",
       "      <th>No</th>\n",
       "      <td>6.00</td>\n",
       "      <td>167</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Yes</th>\n",
       "      <td>6.50</td>\n",
       "      <td>49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">Thur</th>\n",
       "      <th>No</th>\n",
       "      <td>6.70</td>\n",
       "      <td>112</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Yes</th>\n",
       "      <td>5.00</td>\n",
       "      <td>40</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "               tip  size\n",
       "day  smoker             \n",
       "Fri  No       3.50     9\n",
       "     Yes      4.73    31\n",
       "Sat  No       9.00   115\n",
       "     Yes     10.00   104\n",
       "Sun  No       6.00   167\n",
       "     Yes      6.50    49\n",
       "Thur No       6.70   112\n",
       "     Yes      5.00    40"
      ]
     },
     "execution_count": 56,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "grouped.agg({'tip' : np.max, 'size' : 'sum'})"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 57,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr:last-of-type th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th colspan=\"4\" halign=\"left\">tip_pct</th>\n",
       "      <th>size</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th>min</th>\n",
       "      <th>max</th>\n",
       "      <th>mean</th>\n",
       "      <th>std</th>\n",
       "      <th>sum</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>day</th>\n",
       "      <th>smoker</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">Fri</th>\n",
       "      <th>No</th>\n",
       "      <td>0.120385</td>\n",
       "      <td>0.187735</td>\n",
       "      <td>0.151650</td>\n",
       "      <td>0.028123</td>\n",
       "      <td>9</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Yes</th>\n",
       "      <td>0.103555</td>\n",
       "      <td>0.263480</td>\n",
       "      <td>0.174783</td>\n",
       "      <td>0.051293</td>\n",
       "      <td>31</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">Sat</th>\n",
       "      <th>No</th>\n",
       "      <td>0.056797</td>\n",
       "      <td>0.291990</td>\n",
       "      <td>0.158048</td>\n",
       "      <td>0.039767</td>\n",
       "      <td>115</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Yes</th>\n",
       "      <td>0.035638</td>\n",
       "      <td>0.325733</td>\n",
       "      <td>0.147906</td>\n",
       "      <td>0.061375</td>\n",
       "      <td>104</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">Sun</th>\n",
       "      <th>No</th>\n",
       "      <td>0.059447</td>\n",
       "      <td>0.252672</td>\n",
       "      <td>0.160113</td>\n",
       "      <td>0.042347</td>\n",
       "      <td>167</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Yes</th>\n",
       "      <td>0.065660</td>\n",
       "      <td>0.710345</td>\n",
       "      <td>0.187250</td>\n",
       "      <td>0.154134</td>\n",
       "      <td>49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">Thur</th>\n",
       "      <th>No</th>\n",
       "      <td>0.072961</td>\n",
       "      <td>0.266312</td>\n",
       "      <td>0.160298</td>\n",
       "      <td>0.038774</td>\n",
       "      <td>112</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Yes</th>\n",
       "      <td>0.090014</td>\n",
       "      <td>0.241255</td>\n",
       "      <td>0.163863</td>\n",
       "      <td>0.039389</td>\n",
       "      <td>40</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "              tip_pct                               size\n",
       "                  min       max      mean       std  sum\n",
       "day  smoker                                             \n",
       "Fri  No      0.120385  0.187735  0.151650  0.028123    9\n",
       "     Yes     0.103555  0.263480  0.174783  0.051293   31\n",
       "Sat  No      0.056797  0.291990  0.158048  0.039767  115\n",
       "     Yes     0.035638  0.325733  0.147906  0.061375  104\n",
       "Sun  No      0.059447  0.252672  0.160113  0.042347  167\n",
       "     Yes     0.065660  0.710345  0.187250  0.154134   49\n",
       "Thur No      0.072961  0.266312  0.160298  0.038774  112\n",
       "     Yes     0.090014  0.241255  0.163863  0.039389   40"
      ]
     },
     "execution_count": 57,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "grouped.agg({'tip_pct' : ['min', 'max', 'mean', 'std'],\n",
    "             'size' : 'sum'})"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 58,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>day</th>\n",
       "      <th>smoker</th>\n",
       "      <th>total_bill</th>\n",
       "      <th>tip</th>\n",
       "      <th>size</th>\n",
       "      <th>tip_pct</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>Fri</td>\n",
       "      <td>No</td>\n",
       "      <td>18.420000</td>\n",
       "      <td>2.812500</td>\n",
       "      <td>2.250000</td>\n",
       "      <td>0.151650</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Fri</td>\n",
       "      <td>Yes</td>\n",
       "      <td>16.813333</td>\n",
       "      <td>2.714000</td>\n",
       "      <td>2.066667</td>\n",
       "      <td>0.174783</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>Sat</td>\n",
       "      <td>No</td>\n",
       "      <td>19.661778</td>\n",
       "      <td>3.102889</td>\n",
       "      <td>2.555556</td>\n",
       "      <td>0.158048</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>Sat</td>\n",
       "      <td>Yes</td>\n",
       "      <td>21.276667</td>\n",
       "      <td>2.875476</td>\n",
       "      <td>2.476190</td>\n",
       "      <td>0.147906</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>Sun</td>\n",
       "      <td>No</td>\n",
       "      <td>20.506667</td>\n",
       "      <td>3.167895</td>\n",
       "      <td>2.929825</td>\n",
       "      <td>0.160113</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>Sun</td>\n",
       "      <td>Yes</td>\n",
       "      <td>24.120000</td>\n",
       "      <td>3.516842</td>\n",
       "      <td>2.578947</td>\n",
       "      <td>0.187250</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>Thur</td>\n",
       "      <td>No</td>\n",
       "      <td>17.113111</td>\n",
       "      <td>2.673778</td>\n",
       "      <td>2.488889</td>\n",
       "      <td>0.160298</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>Thur</td>\n",
       "      <td>Yes</td>\n",
       "      <td>19.190588</td>\n",
       "      <td>3.030000</td>\n",
       "      <td>2.352941</td>\n",
       "      <td>0.163863</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "    day smoker  total_bill       tip      size   tip_pct\n",
       "0   Fri     No   18.420000  2.812500  2.250000  0.151650\n",
       "1   Fri    Yes   16.813333  2.714000  2.066667  0.174783\n",
       "2   Sat     No   19.661778  3.102889  2.555556  0.158048\n",
       "3   Sat    Yes   21.276667  2.875476  2.476190  0.147906\n",
       "4   Sun     No   20.506667  3.167895  2.929825  0.160113\n",
       "5   Sun    Yes   24.120000  3.516842  2.578947  0.187250\n",
       "6  Thur     No   17.113111  2.673778  2.488889  0.160298\n",
       "7  Thur    Yes   19.190588  3.030000  2.352941  0.163863"
      ]
     },
     "execution_count": 58,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#返回不含行索引的聚合数据\n",
    "#向groupby传递as_index=False来禁用分组键作为索引的行为\n",
    "\n",
    "tips.groupby(['day', 'smoker'], as_index=False).mean()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 59,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>total_bill</th>\n",
       "      <th>tip</th>\n",
       "      <th>smoker</th>\n",
       "      <th>day</th>\n",
       "      <th>time</th>\n",
       "      <th>size</th>\n",
       "      <th>tip_pct</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>109</th>\n",
       "      <td>14.31</td>\n",
       "      <td>4.00</td>\n",
       "      <td>Yes</td>\n",
       "      <td>Sat</td>\n",
       "      <td>Dinner</td>\n",
       "      <td>2</td>\n",
       "      <td>0.279525</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>183</th>\n",
       "      <td>23.17</td>\n",
       "      <td>6.50</td>\n",
       "      <td>Yes</td>\n",
       "      <td>Sun</td>\n",
       "      <td>Dinner</td>\n",
       "      <td>4</td>\n",
       "      <td>0.280535</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>232</th>\n",
       "      <td>11.61</td>\n",
       "      <td>3.39</td>\n",
       "      <td>No</td>\n",
       "      <td>Sat</td>\n",
       "      <td>Dinner</td>\n",
       "      <td>2</td>\n",
       "      <td>0.291990</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>67</th>\n",
       "      <td>3.07</td>\n",
       "      <td>1.00</td>\n",
       "      <td>Yes</td>\n",
       "      <td>Sat</td>\n",
       "      <td>Dinner</td>\n",
       "      <td>1</td>\n",
       "      <td>0.325733</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>178</th>\n",
       "      <td>9.60</td>\n",
       "      <td>4.00</td>\n",
       "      <td>Yes</td>\n",
       "      <td>Sun</td>\n",
       "      <td>Dinner</td>\n",
       "      <td>2</td>\n",
       "      <td>0.416667</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>172</th>\n",
       "      <td>7.25</td>\n",
       "      <td>5.15</td>\n",
       "      <td>Yes</td>\n",
       "      <td>Sun</td>\n",
       "      <td>Dinner</td>\n",
       "      <td>2</td>\n",
       "      <td>0.710345</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "     total_bill   tip smoker  day    time  size   tip_pct\n",
       "109       14.31  4.00    Yes  Sat  Dinner     2  0.279525\n",
       "183       23.17  6.50    Yes  Sun  Dinner     4  0.280535\n",
       "232       11.61  3.39     No  Sat  Dinner     2  0.291990\n",
       "67         3.07  1.00    Yes  Sat  Dinner     1  0.325733\n",
       "178        9.60  4.00    Yes  Sun  Dinner     2  0.416667\n",
       "172        7.25  5.15    Yes  Sun  Dinner     2  0.710345"
      ]
     },
     "execution_count": 59,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "##通用拆分-应用-联合\n",
    "\n",
    "\n",
    "def top(df, n=5, column='tip_pct'):\n",
    "    return df.sort_values(by=column)[-n:]\n",
    "top(tips, n=6)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 60,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th>total_bill</th>\n",
       "      <th>tip</th>\n",
       "      <th>smoker</th>\n",
       "      <th>day</th>\n",
       "      <th>time</th>\n",
       "      <th>size</th>\n",
       "      <th>tip_pct</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>smoker</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th rowspan=\"5\" valign=\"top\">No</th>\n",
       "      <th>88</th>\n",
       "      <td>24.71</td>\n",
       "      <td>5.85</td>\n",
       "      <td>No</td>\n",
       "      <td>Thur</td>\n",
       "      <td>Lunch</td>\n",
       "      <td>2</td>\n",
       "      <td>0.236746</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>185</th>\n",
       "      <td>20.69</td>\n",
       "      <td>5.00</td>\n",
       "      <td>No</td>\n",
       "      <td>Sun</td>\n",
       "      <td>Dinner</td>\n",
       "      <td>5</td>\n",
       "      <td>0.241663</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>51</th>\n",
       "      <td>10.29</td>\n",
       "      <td>2.60</td>\n",
       "      <td>No</td>\n",
       "      <td>Sun</td>\n",
       "      <td>Dinner</td>\n",
       "      <td>2</td>\n",
       "      <td>0.252672</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>149</th>\n",
       "      <td>7.51</td>\n",
       "      <td>2.00</td>\n",
       "      <td>No</td>\n",
       "      <td>Thur</td>\n",
       "      <td>Lunch</td>\n",
       "      <td>2</td>\n",
       "      <td>0.266312</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>232</th>\n",
       "      <td>11.61</td>\n",
       "      <td>3.39</td>\n",
       "      <td>No</td>\n",
       "      <td>Sat</td>\n",
       "      <td>Dinner</td>\n",
       "      <td>2</td>\n",
       "      <td>0.291990</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"5\" valign=\"top\">Yes</th>\n",
       "      <th>109</th>\n",
       "      <td>14.31</td>\n",
       "      <td>4.00</td>\n",
       "      <td>Yes</td>\n",
       "      <td>Sat</td>\n",
       "      <td>Dinner</td>\n",
       "      <td>2</td>\n",
       "      <td>0.279525</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>183</th>\n",
       "      <td>23.17</td>\n",
       "      <td>6.50</td>\n",
       "      <td>Yes</td>\n",
       "      <td>Sun</td>\n",
       "      <td>Dinner</td>\n",
       "      <td>4</td>\n",
       "      <td>0.280535</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>67</th>\n",
       "      <td>3.07</td>\n",
       "      <td>1.00</td>\n",
       "      <td>Yes</td>\n",
       "      <td>Sat</td>\n",
       "      <td>Dinner</td>\n",
       "      <td>1</td>\n",
       "      <td>0.325733</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>178</th>\n",
       "      <td>9.60</td>\n",
       "      <td>4.00</td>\n",
       "      <td>Yes</td>\n",
       "      <td>Sun</td>\n",
       "      <td>Dinner</td>\n",
       "      <td>2</td>\n",
       "      <td>0.416667</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>172</th>\n",
       "      <td>7.25</td>\n",
       "      <td>5.15</td>\n",
       "      <td>Yes</td>\n",
       "      <td>Sun</td>\n",
       "      <td>Dinner</td>\n",
       "      <td>2</td>\n",
       "      <td>0.710345</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "            total_bill   tip smoker   day    time  size   tip_pct\n",
       "smoker                                                           \n",
       "No     88        24.71  5.85     No  Thur   Lunch     2  0.236746\n",
       "       185       20.69  5.00     No   Sun  Dinner     5  0.241663\n",
       "       51        10.29  2.60     No   Sun  Dinner     2  0.252672\n",
       "       149        7.51  2.00     No  Thur   Lunch     2  0.266312\n",
       "       232       11.61  3.39     No   Sat  Dinner     2  0.291990\n",
       "Yes    109       14.31  4.00    Yes   Sat  Dinner     2  0.279525\n",
       "       183       23.17  6.50    Yes   Sun  Dinner     4  0.280535\n",
       "       67         3.07  1.00    Yes   Sat  Dinner     1  0.325733\n",
       "       178        9.60  4.00    Yes   Sun  Dinner     2  0.416667\n",
       "       172        7.25  5.15    Yes   Sun  Dinner     2  0.710345"
      ]
     },
     "execution_count": 60,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#按照smoker进行分组，之后调用apply\n",
    "tips.groupby('smoker').apply(top)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 61,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th>total_bill</th>\n",
       "      <th>tip</th>\n",
       "      <th>smoker</th>\n",
       "      <th>day</th>\n",
       "      <th>time</th>\n",
       "      <th>size</th>\n",
       "      <th>tip_pct</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>smoker</th>\n",
       "      <th>day</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th rowspan=\"4\" valign=\"top\">No</th>\n",
       "      <th>Fri</th>\n",
       "      <th>94</th>\n",
       "      <td>22.75</td>\n",
       "      <td>3.25</td>\n",
       "      <td>No</td>\n",
       "      <td>Fri</td>\n",
       "      <td>Dinner</td>\n",
       "      <td>2</td>\n",
       "      <td>0.142857</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Sat</th>\n",
       "      <th>212</th>\n",
       "      <td>48.33</td>\n",
       "      <td>9.00</td>\n",
       "      <td>No</td>\n",
       "      <td>Sat</td>\n",
       "      <td>Dinner</td>\n",
       "      <td>4</td>\n",
       "      <td>0.186220</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Sun</th>\n",
       "      <th>156</th>\n",
       "      <td>48.17</td>\n",
       "      <td>5.00</td>\n",
       "      <td>No</td>\n",
       "      <td>Sun</td>\n",
       "      <td>Dinner</td>\n",
       "      <td>6</td>\n",
       "      <td>0.103799</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Thur</th>\n",
       "      <th>142</th>\n",
       "      <td>41.19</td>\n",
       "      <td>5.00</td>\n",
       "      <td>No</td>\n",
       "      <td>Thur</td>\n",
       "      <td>Lunch</td>\n",
       "      <td>5</td>\n",
       "      <td>0.121389</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"4\" valign=\"top\">Yes</th>\n",
       "      <th>Fri</th>\n",
       "      <th>95</th>\n",
       "      <td>40.17</td>\n",
       "      <td>4.73</td>\n",
       "      <td>Yes</td>\n",
       "      <td>Fri</td>\n",
       "      <td>Dinner</td>\n",
       "      <td>4</td>\n",
       "      <td>0.117750</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Sat</th>\n",
       "      <th>170</th>\n",
       "      <td>50.81</td>\n",
       "      <td>10.00</td>\n",
       "      <td>Yes</td>\n",
       "      <td>Sat</td>\n",
       "      <td>Dinner</td>\n",
       "      <td>3</td>\n",
       "      <td>0.196812</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Sun</th>\n",
       "      <th>182</th>\n",
       "      <td>45.35</td>\n",
       "      <td>3.50</td>\n",
       "      <td>Yes</td>\n",
       "      <td>Sun</td>\n",
       "      <td>Dinner</td>\n",
       "      <td>3</td>\n",
       "      <td>0.077178</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Thur</th>\n",
       "      <th>197</th>\n",
       "      <td>43.11</td>\n",
       "      <td>5.00</td>\n",
       "      <td>Yes</td>\n",
       "      <td>Thur</td>\n",
       "      <td>Lunch</td>\n",
       "      <td>4</td>\n",
       "      <td>0.115982</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                 total_bill    tip smoker   day    time  size   tip_pct\n",
       "smoker day                                                             \n",
       "No     Fri  94        22.75   3.25     No   Fri  Dinner     2  0.142857\n",
       "       Sat  212       48.33   9.00     No   Sat  Dinner     4  0.186220\n",
       "       Sun  156       48.17   5.00     No   Sun  Dinner     6  0.103799\n",
       "       Thur 142       41.19   5.00     No  Thur   Lunch     5  0.121389\n",
       "Yes    Fri  95        40.17   4.73    Yes   Fri  Dinner     4  0.117750\n",
       "       Sat  170       50.81  10.00    Yes   Sat  Dinner     3  0.196812\n",
       "       Sun  182       45.35   3.50    Yes   Sun  Dinner     3  0.077178\n",
       "       Thur 197       43.11   5.00    Yes  Thur   Lunch     4  0.115982"
      ]
     },
     "execution_count": 61,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "tips.groupby(['smoker', 'day']).apply(top, n=1, column='total_bill')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "metadata": {},
   "outputs": [],
   "source": [
    "result = tips.groupby('smoker')['tip_pct'].describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 64,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>count</th>\n",
       "      <th>mean</th>\n",
       "      <th>std</th>\n",
       "      <th>min</th>\n",
       "      <th>25%</th>\n",
       "      <th>50%</th>\n",
       "      <th>75%</th>\n",
       "      <th>max</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>smoker</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>No</th>\n",
       "      <td>151.0</td>\n",
       "      <td>0.159328</td>\n",
       "      <td>0.039910</td>\n",
       "      <td>0.056797</td>\n",
       "      <td>0.136906</td>\n",
       "      <td>0.155625</td>\n",
       "      <td>0.185014</td>\n",
       "      <td>0.291990</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Yes</th>\n",
       "      <td>93.0</td>\n",
       "      <td>0.163196</td>\n",
       "      <td>0.085119</td>\n",
       "      <td>0.035638</td>\n",
       "      <td>0.106771</td>\n",
       "      <td>0.153846</td>\n",
       "      <td>0.195059</td>\n",
       "      <td>0.710345</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "        count      mean       std       min       25%       50%       75%  \\\n",
       "smoker                                                                      \n",
       "No      151.0  0.159328  0.039910  0.056797  0.136906  0.155625  0.185014   \n",
       "Yes      93.0  0.163196  0.085119  0.035638  0.106771  0.153846  0.195059   \n",
       "\n",
       "             max  \n",
       "smoker            \n",
       "No      0.291990  \n",
       "Yes     0.710345  "
      ]
     },
     "execution_count": 64,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "result"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 65,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "       smoker\n",
       "count  No        151.000000\n",
       "       Yes        93.000000\n",
       "mean   No          0.159328\n",
       "       Yes         0.163196\n",
       "std    No          0.039910\n",
       "       Yes         0.085119\n",
       "min    No          0.056797\n",
       "       Yes         0.035638\n",
       "25%    No          0.136906\n",
       "       Yes         0.106771\n",
       "50%    No          0.155625\n",
       "       Yes         0.153846\n",
       "75%    No          0.185014\n",
       "       Yes         0.195059\n",
       "max    No          0.291990\n",
       "       Yes         0.710345\n",
       "dtype: float64"
      ]
     },
     "execution_count": 65,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "result.unstack('smoker')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 66,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>total_bill</th>\n",
       "      <th>tip</th>\n",
       "      <th>smoker</th>\n",
       "      <th>day</th>\n",
       "      <th>time</th>\n",
       "      <th>size</th>\n",
       "      <th>tip_pct</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>88</th>\n",
       "      <td>24.71</td>\n",
       "      <td>5.85</td>\n",
       "      <td>No</td>\n",
       "      <td>Thur</td>\n",
       "      <td>Lunch</td>\n",
       "      <td>2</td>\n",
       "      <td>0.236746</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>185</th>\n",
       "      <td>20.69</td>\n",
       "      <td>5.00</td>\n",
       "      <td>No</td>\n",
       "      <td>Sun</td>\n",
       "      <td>Dinner</td>\n",
       "      <td>5</td>\n",
       "      <td>0.241663</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>51</th>\n",
       "      <td>10.29</td>\n",
       "      <td>2.60</td>\n",
       "      <td>No</td>\n",
       "      <td>Sun</td>\n",
       "      <td>Dinner</td>\n",
       "      <td>2</td>\n",
       "      <td>0.252672</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>149</th>\n",
       "      <td>7.51</td>\n",
       "      <td>2.00</td>\n",
       "      <td>No</td>\n",
       "      <td>Thur</td>\n",
       "      <td>Lunch</td>\n",
       "      <td>2</td>\n",
       "      <td>0.266312</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>232</th>\n",
       "      <td>11.61</td>\n",
       "      <td>3.39</td>\n",
       "      <td>No</td>\n",
       "      <td>Sat</td>\n",
       "      <td>Dinner</td>\n",
       "      <td>2</td>\n",
       "      <td>0.291990</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>109</th>\n",
       "      <td>14.31</td>\n",
       "      <td>4.00</td>\n",
       "      <td>Yes</td>\n",
       "      <td>Sat</td>\n",
       "      <td>Dinner</td>\n",
       "      <td>2</td>\n",
       "      <td>0.279525</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>183</th>\n",
       "      <td>23.17</td>\n",
       "      <td>6.50</td>\n",
       "      <td>Yes</td>\n",
       "      <td>Sun</td>\n",
       "      <td>Dinner</td>\n",
       "      <td>4</td>\n",
       "      <td>0.280535</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>67</th>\n",
       "      <td>3.07</td>\n",
       "      <td>1.00</td>\n",
       "      <td>Yes</td>\n",
       "      <td>Sat</td>\n",
       "      <td>Dinner</td>\n",
       "      <td>1</td>\n",
       "      <td>0.325733</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>178</th>\n",
       "      <td>9.60</td>\n",
       "      <td>4.00</td>\n",
       "      <td>Yes</td>\n",
       "      <td>Sun</td>\n",
       "      <td>Dinner</td>\n",
       "      <td>2</td>\n",
       "      <td>0.416667</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>172</th>\n",
       "      <td>7.25</td>\n",
       "      <td>5.15</td>\n",
       "      <td>Yes</td>\n",
       "      <td>Sun</td>\n",
       "      <td>Dinner</td>\n",
       "      <td>2</td>\n",
       "      <td>0.710345</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "     total_bill   tip smoker   day    time  size   tip_pct\n",
       "88        24.71  5.85     No  Thur   Lunch     2  0.236746\n",
       "185       20.69  5.00     No   Sun  Dinner     5  0.241663\n",
       "51        10.29  2.60     No   Sun  Dinner     2  0.252672\n",
       "149        7.51  2.00     No  Thur   Lunch     2  0.266312\n",
       "232       11.61  3.39     No   Sat  Dinner     2  0.291990\n",
       "109       14.31  4.00    Yes   Sat  Dinner     2  0.279525\n",
       "183       23.17  6.50    Yes   Sun  Dinner     4  0.280535\n",
       "67         3.07  1.00    Yes   Sat  Dinner     1  0.325733\n",
       "178        9.60  4.00    Yes   Sun  Dinner     2  0.416667\n",
       "172        7.25  5.15    Yes   Sun  Dinner     2  0.710345"
      ]
     },
     "execution_count": 66,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#压缩分组键\n",
    "#向groupby传递group_keys=False来禁用\n",
    "tips.groupby('smoker', group_keys=False).apply(top)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 67,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0     (-0.323, 1.299]\n",
       "1     (-0.323, 1.299]\n",
       "2    (-1.945, -0.323]\n",
       "3    (-1.945, -0.323]\n",
       "4     (-0.323, 1.299]\n",
       "5    (-1.945, -0.323]\n",
       "6    (-1.945, -0.323]\n",
       "7     (-0.323, 1.299]\n",
       "8      (1.299, 2.921]\n",
       "9     (-0.323, 1.299]\n",
       "Name: data1, dtype: category\n",
       "Categories (4, interval[float64]): [(-3.574, -1.945] < (-1.945, -0.323] < (-0.323, 1.299] < (1.299, 2.921]]"
      ]
     },
     "execution_count": 67,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#分位数与桶分析\n",
    "\n",
    "frame = pd.DataFrame({'data1': np.random.randn(1000),\n",
    "                      'data2': np.random.randn(1000)})\n",
    "quartiles = pd.cut(frame.data1, 4)\n",
    "quartiles[:10]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 68,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>count</th>\n",
       "      <th>max</th>\n",
       "      <th>mean</th>\n",
       "      <th>min</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>data1</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>(-3.574, -1.945]</th>\n",
       "      <td>30.0</td>\n",
       "      <td>2.012128</td>\n",
       "      <td>-0.264464</td>\n",
       "      <td>-2.074177</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>(-1.945, -0.323]</th>\n",
       "      <td>359.0</td>\n",
       "      <td>2.730831</td>\n",
       "      <td>0.027243</td>\n",
       "      <td>-2.580890</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>(-0.323, 1.299]</th>\n",
       "      <td>514.0</td>\n",
       "      <td>2.753764</td>\n",
       "      <td>0.051005</td>\n",
       "      <td>-2.933797</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>(1.299, 2.921]</th>\n",
       "      <td>97.0</td>\n",
       "      <td>2.680007</td>\n",
       "      <td>0.137582</td>\n",
       "      <td>-2.630083</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                  count       max      mean       min\n",
       "data1                                                \n",
       "(-3.574, -1.945]   30.0  2.012128 -0.264464 -2.074177\n",
       "(-1.945, -0.323]  359.0  2.730831  0.027243 -2.580890\n",
       "(-0.323, 1.299]   514.0  2.753764  0.051005 -2.933797\n",
       "(1.299, 2.921]     97.0  2.680007  0.137582 -2.630083"
      ]
     },
     "execution_count": 68,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#cut返回的Categorical对象可以直接传递给groupby。所以可以计算出data2列的一个统计值集合\n",
    "def get_stats(group):\n",
    "    return {'min': group.min(), 'max': group.max(),\n",
    "            'count': group.count(), 'mean': group.mean()}\n",
    "grouped = frame.data2.groupby(quartiles)\n",
    "grouped.apply(get_stats).unstack()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 69,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>count</th>\n",
       "      <th>max</th>\n",
       "      <th>mean</th>\n",
       "      <th>min</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>data1</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>100.0</td>\n",
       "      <td>2.730831</td>\n",
       "      <td>-0.024289</td>\n",
       "      <td>-2.212510</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>100.0</td>\n",
       "      <td>2.399773</td>\n",
       "      <td>0.123962</td>\n",
       "      <td>-1.855140</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>100.0</td>\n",
       "      <td>2.573897</td>\n",
       "      <td>-0.083609</td>\n",
       "      <td>-2.249614</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>100.0</td>\n",
       "      <td>2.395584</td>\n",
       "      <td>-0.033336</td>\n",
       "      <td>-2.580890</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>100.0</td>\n",
       "      <td>2.679552</td>\n",
       "      <td>0.117135</td>\n",
       "      <td>-1.955077</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>100.0</td>\n",
       "      <td>2.753764</td>\n",
       "      <td>0.105392</td>\n",
       "      <td>-2.933797</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>100.0</td>\n",
       "      <td>2.376090</td>\n",
       "      <td>0.123022</td>\n",
       "      <td>-2.074023</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>100.0</td>\n",
       "      <td>1.650244</td>\n",
       "      <td>-0.107340</td>\n",
       "      <td>-2.276077</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>100.0</td>\n",
       "      <td>2.449389</td>\n",
       "      <td>0.054918</td>\n",
       "      <td>-1.704618</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>100.0</td>\n",
       "      <td>2.680007</td>\n",
       "      <td>0.138226</td>\n",
       "      <td>-2.630083</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "       count       max      mean       min\n",
       "data1                                     \n",
       "0      100.0  2.730831 -0.024289 -2.212510\n",
       "1      100.0  2.399773  0.123962 -1.855140\n",
       "2      100.0  2.573897 -0.083609 -2.249614\n",
       "3      100.0  2.395584 -0.033336 -2.580890\n",
       "4      100.0  2.679552  0.117135 -1.955077\n",
       "5      100.0  2.753764  0.105392 -2.933797\n",
       "6      100.0  2.376090  0.123022 -2.074023\n",
       "7      100.0  1.650244 -0.107340 -2.276077\n",
       "8      100.0  2.449389  0.054918 -1.704618\n",
       "9      100.0  2.680007  0.138226 -2.630083"
      ]
     },
     "execution_count": 69,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 返回分位数数值\n",
    "grouping = pd.qcut(frame.data1, 10, labels=False)\n",
    "grouped = frame.data2.groupby(grouping)\n",
    "grouped.apply(get_stats).unstack()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "#使用指定分组值填充缺失值"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 71,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Ohio         -1.268975\n",
       "New York      0.019771\n",
       "Vermont       0.580206\n",
       "Florida      -1.176430\n",
       "Oregon        0.357216\n",
       "Nevada       -2.052581\n",
       "California    0.466740\n",
       "Idaho        -0.774316\n",
       "dtype: float64"
      ]
     },
     "execution_count": 71,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "states = ['Ohio', 'New York', 'Vermont', 'Florida',\n",
    "          'Oregon', 'Nevada', 'California', 'Idaho']\n",
    "group_key = ['East'] * 4 + ['West'] * 4\n",
    "#语法【‘East’】*4生成一个包含四个【‘East’】中元素的北方列表。将列表拼接在一起\n",
    "data = pd.Series(np.random.randn(8), index=states)\n",
    "data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 72,
   "metadata": {},
   "outputs": [],
   "source": [
    "#将数据中的一些值设置为缺失值\n",
    "data[['Vermont', 'Nevada', 'Idaho']] = np.nan"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 73,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Ohio         -1.268975\n",
       "New York      0.019771\n",
       "Vermont            NaN\n",
       "Florida      -1.176430\n",
       "Oregon        0.357216\n",
       "Nevada             NaN\n",
       "California    0.466740\n",
       "Idaho              NaN\n",
       "dtype: float64"
      ]
     },
     "execution_count": 73,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 74,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "East   -0.808544\n",
       "West    0.411978\n",
       "dtype: float64"
      ]
     },
     "execution_count": 74,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.groupby(group_key).mean()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 75,
   "metadata": {},
   "outputs": [],
   "source": [
    "#使用分组平均值来填充NA值\n",
    "fill_mean = lambda g: g.fillna(g.mean())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 76,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Ohio         -1.268975\n",
       "New York      0.019771\n",
       "Vermont      -0.808544\n",
       "Florida      -1.176430\n",
       "Oregon        0.357216\n",
       "Nevada        0.411978\n",
       "California    0.466740\n",
       "Idaho         0.411978\n",
       "dtype: float64"
      ]
     },
     "execution_count": 76,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.groupby(group_key).apply(fill_mean)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 77,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Ohio         -1.268975\n",
       "New York      0.019771\n",
       "Vermont       0.500000\n",
       "Florida      -1.176430\n",
       "Oregon        0.357216\n",
       "Nevada       -1.000000\n",
       "California    0.466740\n",
       "Idaho        -1.000000\n",
       "dtype: float64"
      ]
     },
     "execution_count": 77,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "fill_values = {'East': 0.5, 'West': -1}\n",
    "fill_func = lambda g: g.fillna(fill_values[g.name])\n",
    "data.groupby(group_key).apply(fill_func)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 78,
   "metadata": {},
   "outputs": [],
   "source": [
    "#随机采样与排列\n",
    "\n",
    "# 红桃，黑桃，梅花，方块\n",
    "suits = ['H', 'S', 'C', 'D']\n",
    "card_val = (list(range(1, 11)) + [10] * 3) * 4\n",
    "base_names = ['A'] + list(range(2, 11)) + ['J', 'K', 'Q']\n",
    "cards = []\n",
    "for suit in ['H', 'S', 'C', 'D']:\n",
    "    cards.extend(str(num) + suit for num in base_names)\n",
    "\n",
    "deck = pd.Series(card_val, index=cards)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 79,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "AH      1\n",
       "2H      2\n",
       "3H      3\n",
       "4H      4\n",
       "5H      5\n",
       "6H      6\n",
       "7H      7\n",
       "8H      8\n",
       "9H      9\n",
       "10H    10\n",
       "JH     10\n",
       "KH     10\n",
       "QH     10\n",
       "dtype: int64"
      ]
     },
     "execution_count": 79,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "deck[:13]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 80,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "6D    6\n",
       "4H    4\n",
       "3D    3\n",
       "9C    9\n",
       "8S    8\n",
       "dtype: int64"
      ]
     },
     "execution_count": 80,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#从牌中拿出5张牌可以写成如下\n",
    "def draw(deck, n=5):\n",
    "    return deck.sample(n)\n",
    "draw(deck)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 81,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "C  2C      2\n",
       "   10C    10\n",
       "D  9D      9\n",
       "   3D      3\n",
       "H  4H      4\n",
       "   9H      9\n",
       "S  7S      7\n",
       "   8S      8\n",
       "dtype: int64"
      ]
     },
     "execution_count": 81,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#\n",
    "get_suit = lambda card: card[-1] # last letter is suit\n",
    "deck.groupby(get_suit).apply(draw, n=2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 82,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "QC     10\n",
       "7C      7\n",
       "10D    10\n",
       "KD     10\n",
       "KH     10\n",
       "2H      2\n",
       "4S      4\n",
       "AS      1\n",
       "dtype: int64"
      ]
     },
     "execution_count": 82,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "deck.groupby(get_suit, group_keys=False).apply(draw, n=2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 83,
   "metadata": {},
   "outputs": [],
   "source": [
    "#分组加权平均和相关性\n",
    "\n",
    "df = pd.DataFrame({'category': ['a', 'a', 'a', 'a',\n",
    "                                'b', 'b', 'b', 'b'],\n",
    "                   'data': np.random.randn(8),\n",
    "                   'weights': np.random.rand(8)})"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 84,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>category</th>\n",
       "      <th>data</th>\n",
       "      <th>weights</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>a</td>\n",
       "      <td>-0.857371</td>\n",
       "      <td>0.078736</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>a</td>\n",
       "      <td>0.066266</td>\n",
       "      <td>0.212342</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>a</td>\n",
       "      <td>-1.633211</td>\n",
       "      <td>0.894886</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>a</td>\n",
       "      <td>-2.037048</td>\n",
       "      <td>0.069403</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>b</td>\n",
       "      <td>-1.457743</td>\n",
       "      <td>0.749639</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>b</td>\n",
       "      <td>-0.337959</td>\n",
       "      <td>0.211002</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>b</td>\n",
       "      <td>0.228221</td>\n",
       "      <td>0.797671</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>b</td>\n",
       "      <td>-0.161254</td>\n",
       "      <td>0.142242</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  category      data   weights\n",
       "0        a -0.857371  0.078736\n",
       "1        a  0.066266  0.212342\n",
       "2        a -1.633211  0.894886\n",
       "3        a -2.037048  0.069403\n",
       "4        b -1.457743  0.749639\n",
       "5        b -0.337959  0.211002\n",
       "6        b  0.228221  0.797671\n",
       "7        b -0.161254  0.142242"
      ]
     },
     "execution_count": 84,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 85,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "category\n",
       "a   -1.319414\n",
       "b   -0.528784\n",
       "dtype: float64"
      ]
     },
     "execution_count": 85,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#通过category进行加权平均\n",
    "grouped = df.groupby('category')\n",
    "get_wavg = lambda g: np.average(g['data'], weights=g['weights'])\n",
    "grouped.apply(get_wavg)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 87,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "DatetimeIndex: 2214 entries, 2003-01-02 to 2011-10-14\n",
      "Data columns (total 4 columns):\n",
      "AAPL    2214 non-null float64\n",
      "MSFT    2214 non-null float64\n",
      "XOM     2214 non-null float64\n",
      "SPX     2214 non-null float64\n",
      "dtypes: float64(4)\n",
      "memory usage: 86.5 KB\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>AAPL</th>\n",
       "      <th>MSFT</th>\n",
       "      <th>XOM</th>\n",
       "      <th>SPX</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2011-10-11</th>\n",
       "      <td>400.29</td>\n",
       "      <td>27.00</td>\n",
       "      <td>76.27</td>\n",
       "      <td>1195.54</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2011-10-12</th>\n",
       "      <td>402.19</td>\n",
       "      <td>26.96</td>\n",
       "      <td>77.16</td>\n",
       "      <td>1207.25</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2011-10-13</th>\n",
       "      <td>408.43</td>\n",
       "      <td>27.18</td>\n",
       "      <td>76.37</td>\n",
       "      <td>1203.66</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2011-10-14</th>\n",
       "      <td>422.00</td>\n",
       "      <td>27.27</td>\n",
       "      <td>78.11</td>\n",
       "      <td>1224.58</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "              AAPL   MSFT    XOM      SPX\n",
       "2011-10-11  400.29  27.00  76.27  1195.54\n",
       "2011-10-12  402.19  26.96  77.16  1207.25\n",
       "2011-10-13  408.43  27.18  76.37  1203.66\n",
       "2011-10-14  422.00  27.27  78.11  1224.58"
      ]
     },
     "execution_count": 87,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "close_px = pd.read_csv('D:\\pydata-book-2nd-edition\\pydata-book-2nd-edition\\examples\\stock_px_2.csv', parse_dates=True,\n",
    "                       index_col=0)\n",
    "close_px.info()\n",
    "close_px[-4:]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 88,
   "metadata": {},
   "outputs": [],
   "source": [
    "#\n",
    "spx_corr = lambda x: x.corrwith(x['SPX'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 89,
   "metadata": {},
   "outputs": [],
   "source": [
    "rets = close_px.pct_change().dropna()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 90,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>AAPL</th>\n",
       "      <th>MSFT</th>\n",
       "      <th>XOM</th>\n",
       "      <th>SPX</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2003</th>\n",
       "      <td>0.541124</td>\n",
       "      <td>0.745174</td>\n",
       "      <td>0.661265</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2004</th>\n",
       "      <td>0.374283</td>\n",
       "      <td>0.588531</td>\n",
       "      <td>0.557742</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2005</th>\n",
       "      <td>0.467540</td>\n",
       "      <td>0.562374</td>\n",
       "      <td>0.631010</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2006</th>\n",
       "      <td>0.428267</td>\n",
       "      <td>0.406126</td>\n",
       "      <td>0.518514</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2007</th>\n",
       "      <td>0.508118</td>\n",
       "      <td>0.658770</td>\n",
       "      <td>0.786264</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2008</th>\n",
       "      <td>0.681434</td>\n",
       "      <td>0.804626</td>\n",
       "      <td>0.828303</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2009</th>\n",
       "      <td>0.707103</td>\n",
       "      <td>0.654902</td>\n",
       "      <td>0.797921</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2010</th>\n",
       "      <td>0.710105</td>\n",
       "      <td>0.730118</td>\n",
       "      <td>0.839057</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2011</th>\n",
       "      <td>0.691931</td>\n",
       "      <td>0.800996</td>\n",
       "      <td>0.859975</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "          AAPL      MSFT       XOM  SPX\n",
       "2003  0.541124  0.745174  0.661265  1.0\n",
       "2004  0.374283  0.588531  0.557742  1.0\n",
       "2005  0.467540  0.562374  0.631010  1.0\n",
       "2006  0.428267  0.406126  0.518514  1.0\n",
       "2007  0.508118  0.658770  0.786264  1.0\n",
       "2008  0.681434  0.804626  0.828303  1.0\n",
       "2009  0.707103  0.654902  0.797921  1.0\n",
       "2010  0.710105  0.730118  0.839057  1.0\n",
       "2011  0.691931  0.800996  0.859975  1.0"
      ]
     },
     "execution_count": 90,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#单行函数从每个行标签中提取每个datetime标签的year属性\n",
    "get_year = lambda x: x.year\n",
    "by_year = rets.groupby(get_year)\n",
    "by_year.apply(spx_corr)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 91,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2003    0.480868\n",
       "2004    0.259024\n",
       "2005    0.300093\n",
       "2006    0.161735\n",
       "2007    0.417738\n",
       "2008    0.611901\n",
       "2009    0.432738\n",
       "2010    0.571946\n",
       "2011    0.581987\n",
       "dtype: float64"
      ]
     },
     "execution_count": 91,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "by_year.apply(lambda g: g['AAPL'].corr(g['MSFT']))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 108,
   "metadata": {},
   "outputs": [],
   "source": [
    "#逐组线性回归\n",
    "import statsmodels.api as sm\\\n",
    "#import datetools\n",
    "def regress(data, yvar, xvars):\n",
    "    Y = data[yvar]\n",
    "    X = data[xvars]\n",
    "    X['intercept'] = 1.\n",
    "    result = sm.OLS(Y, X).fit()\n",
    "    return result.params"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 93,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>SPX</th>\n",
       "      <th>intercept</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2003</th>\n",
       "      <td>1.195406</td>\n",
       "      <td>0.000710</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2004</th>\n",
       "      <td>1.363463</td>\n",
       "      <td>0.004201</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2005</th>\n",
       "      <td>1.766415</td>\n",
       "      <td>0.003246</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2006</th>\n",
       "      <td>1.645496</td>\n",
       "      <td>0.000080</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2007</th>\n",
       "      <td>1.198761</td>\n",
       "      <td>0.003438</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2008</th>\n",
       "      <td>0.968016</td>\n",
       "      <td>-0.001110</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2009</th>\n",
       "      <td>0.879103</td>\n",
       "      <td>0.002954</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2010</th>\n",
       "      <td>1.052608</td>\n",
       "      <td>0.001261</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2011</th>\n",
       "      <td>0.806605</td>\n",
       "      <td>0.001514</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "           SPX  intercept\n",
       "2003  1.195406   0.000710\n",
       "2004  1.363463   0.004201\n",
       "2005  1.766415   0.003246\n",
       "2006  1.645496   0.000080\n",
       "2007  1.198761   0.003438\n",
       "2008  0.968016  -0.001110\n",
       "2009  0.879103   0.002954\n",
       "2010  1.052608   0.001261\n",
       "2011  0.806605   0.001514"
      ]
     },
     "execution_count": 93,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "by_year.apply(regress, 'AAPL', ['SPX'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 94,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th>size</th>\n",
       "      <th>tip</th>\n",
       "      <th>tip_pct</th>\n",
       "      <th>total_bill</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>day</th>\n",
       "      <th>smoker</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">Fri</th>\n",
       "      <th>No</th>\n",
       "      <td>2.250000</td>\n",
       "      <td>2.812500</td>\n",
       "      <td>0.151650</td>\n",
       "      <td>18.420000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Yes</th>\n",
       "      <td>2.066667</td>\n",
       "      <td>2.714000</td>\n",
       "      <td>0.174783</td>\n",
       "      <td>16.813333</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">Sat</th>\n",
       "      <th>No</th>\n",
       "      <td>2.555556</td>\n",
       "      <td>3.102889</td>\n",
       "      <td>0.158048</td>\n",
       "      <td>19.661778</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Yes</th>\n",
       "      <td>2.476190</td>\n",
       "      <td>2.875476</td>\n",
       "      <td>0.147906</td>\n",
       "      <td>21.276667</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">Sun</th>\n",
       "      <th>No</th>\n",
       "      <td>2.929825</td>\n",
       "      <td>3.167895</td>\n",
       "      <td>0.160113</td>\n",
       "      <td>20.506667</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Yes</th>\n",
       "      <td>2.578947</td>\n",
       "      <td>3.516842</td>\n",
       "      <td>0.187250</td>\n",
       "      <td>24.120000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">Thur</th>\n",
       "      <th>No</th>\n",
       "      <td>2.488889</td>\n",
       "      <td>2.673778</td>\n",
       "      <td>0.160298</td>\n",
       "      <td>17.113111</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Yes</th>\n",
       "      <td>2.352941</td>\n",
       "      <td>3.030000</td>\n",
       "      <td>0.163863</td>\n",
       "      <td>19.190588</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                 size       tip   tip_pct  total_bill\n",
       "day  smoker                                          \n",
       "Fri  No      2.250000  2.812500  0.151650   18.420000\n",
       "     Yes     2.066667  2.714000  0.174783   16.813333\n",
       "Sat  No      2.555556  3.102889  0.158048   19.661778\n",
       "     Yes     2.476190  2.875476  0.147906   21.276667\n",
       "Sun  No      2.929825  3.167895  0.160113   20.506667\n",
       "     Yes     2.578947  3.516842  0.187250   24.120000\n",
       "Thur No      2.488889  2.673778  0.160298   17.113111\n",
       "     Yes     2.352941  3.030000  0.163863   19.190588"
      ]
     },
     "execution_count": 94,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#数据透视表与交叉表\n",
    "tips.pivot_table(index=['day', 'smoker'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 95,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr:last-of-type th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th colspan=\"2\" halign=\"left\">size</th>\n",
       "      <th colspan=\"2\" halign=\"left\">tip_pct</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th>smoker</th>\n",
       "      <th>No</th>\n",
       "      <th>Yes</th>\n",
       "      <th>No</th>\n",
       "      <th>Yes</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>time</th>\n",
       "      <th>day</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th rowspan=\"4\" valign=\"top\">Dinner</th>\n",
       "      <th>Fri</th>\n",
       "      <td>2.000000</td>\n",
       "      <td>2.222222</td>\n",
       "      <td>0.139622</td>\n",
       "      <td>0.165347</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Sat</th>\n",
       "      <td>2.555556</td>\n",
       "      <td>2.476190</td>\n",
       "      <td>0.158048</td>\n",
       "      <td>0.147906</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Sun</th>\n",
       "      <td>2.929825</td>\n",
       "      <td>2.578947</td>\n",
       "      <td>0.160113</td>\n",
       "      <td>0.187250</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Thur</th>\n",
       "      <td>2.000000</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.159744</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">Lunch</th>\n",
       "      <th>Fri</th>\n",
       "      <td>3.000000</td>\n",
       "      <td>1.833333</td>\n",
       "      <td>0.187735</td>\n",
       "      <td>0.188937</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Thur</th>\n",
       "      <td>2.500000</td>\n",
       "      <td>2.352941</td>\n",
       "      <td>0.160311</td>\n",
       "      <td>0.163863</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                 size             tip_pct          \n",
       "smoker             No       Yes        No       Yes\n",
       "time   day                                         \n",
       "Dinner Fri   2.000000  2.222222  0.139622  0.165347\n",
       "       Sat   2.555556  2.476190  0.158048  0.147906\n",
       "       Sun   2.929825  2.578947  0.160113  0.187250\n",
       "       Thur  2.000000       NaN  0.159744       NaN\n",
       "Lunch  Fri   3.000000  1.833333  0.187735  0.188937\n",
       "       Thur  2.500000  2.352941  0.160311  0.163863"
      ]
     },
     "execution_count": 95,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "tips.pivot_table(['tip_pct', 'size'], index=['time', 'day'],\n",
    "                 columns='smoker')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 99,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr:last-of-type th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th colspan=\"3\" halign=\"left\">size</th>\n",
       "      <th colspan=\"3\" halign=\"left\">tip_pct</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th>smoker</th>\n",
       "      <th>No</th>\n",
       "      <th>Yes</th>\n",
       "      <th>All</th>\n",
       "      <th>No</th>\n",
       "      <th>Yes</th>\n",
       "      <th>All</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>time</th>\n",
       "      <th>day</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th rowspan=\"4\" valign=\"top\">Dinner</th>\n",
       "      <th>Fri</th>\n",
       "      <td>2.000000</td>\n",
       "      <td>2.222222</td>\n",
       "      <td>2.166667</td>\n",
       "      <td>0.139622</td>\n",
       "      <td>0.165347</td>\n",
       "      <td>0.158916</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Sat</th>\n",
       "      <td>2.555556</td>\n",
       "      <td>2.476190</td>\n",
       "      <td>2.517241</td>\n",
       "      <td>0.158048</td>\n",
       "      <td>0.147906</td>\n",
       "      <td>0.153152</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Sun</th>\n",
       "      <td>2.929825</td>\n",
       "      <td>2.578947</td>\n",
       "      <td>2.842105</td>\n",
       "      <td>0.160113</td>\n",
       "      <td>0.187250</td>\n",
       "      <td>0.166897</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Thur</th>\n",
       "      <td>2.000000</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>0.159744</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.159744</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">Lunch</th>\n",
       "      <th>Fri</th>\n",
       "      <td>3.000000</td>\n",
       "      <td>1.833333</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>0.187735</td>\n",
       "      <td>0.188937</td>\n",
       "      <td>0.188765</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Thur</th>\n",
       "      <td>2.500000</td>\n",
       "      <td>2.352941</td>\n",
       "      <td>2.459016</td>\n",
       "      <td>0.160311</td>\n",
       "      <td>0.163863</td>\n",
       "      <td>0.161301</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>All</th>\n",
       "      <th></th>\n",
       "      <td>2.668874</td>\n",
       "      <td>2.408602</td>\n",
       "      <td>2.569672</td>\n",
       "      <td>0.159328</td>\n",
       "      <td>0.163196</td>\n",
       "      <td>0.160803</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                 size                       tip_pct                    \n",
       "smoker             No       Yes       All        No       Yes       All\n",
       "time   day                                                             \n",
       "Dinner Fri   2.000000  2.222222  2.166667  0.139622  0.165347  0.158916\n",
       "       Sat   2.555556  2.476190  2.517241  0.158048  0.147906  0.153152\n",
       "       Sun   2.929825  2.578947  2.842105  0.160113  0.187250  0.166897\n",
       "       Thur  2.000000       NaN  2.000000  0.159744       NaN  0.159744\n",
       "Lunch  Fri   3.000000  1.833333  2.000000  0.187735  0.188937  0.188765\n",
       "       Thur  2.500000  2.352941  2.459016  0.160311  0.163863  0.161301\n",
       "All          2.668874  2.408602  2.569672  0.159328  0.163196  0.160803"
      ]
     },
     "execution_count": 99,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "tips.pivot_table(['tip_pct', 'size'], index=['time', 'day'],\n",
    "                 columns='smoker', margins=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 100,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>day</th>\n",
       "      <th>Fri</th>\n",
       "      <th>Sat</th>\n",
       "      <th>Sun</th>\n",
       "      <th>Thur</th>\n",
       "      <th>All</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>time</th>\n",
       "      <th>smoker</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">Dinner</th>\n",
       "      <th>No</th>\n",
       "      <td>3.0</td>\n",
       "      <td>45.0</td>\n",
       "      <td>57.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>106.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Yes</th>\n",
       "      <td>9.0</td>\n",
       "      <td>42.0</td>\n",
       "      <td>19.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>70.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">Lunch</th>\n",
       "      <th>No</th>\n",
       "      <td>1.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>44.0</td>\n",
       "      <td>45.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Yes</th>\n",
       "      <td>6.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>17.0</td>\n",
       "      <td>23.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>All</th>\n",
       "      <th></th>\n",
       "      <td>19.0</td>\n",
       "      <td>87.0</td>\n",
       "      <td>76.0</td>\n",
       "      <td>62.0</td>\n",
       "      <td>244.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "day             Fri   Sat   Sun  Thur    All\n",
       "time   smoker                               \n",
       "Dinner No       3.0  45.0  57.0   1.0  106.0\n",
       "       Yes      9.0  42.0  19.0   NaN   70.0\n",
       "Lunch  No       1.0   NaN   NaN  44.0   45.0\n",
       "       Yes      6.0   NaN   NaN  17.0   23.0\n",
       "All            19.0  87.0  76.0  62.0  244.0"
      ]
     },
     "execution_count": 100,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "tips.pivot_table('tip_pct', index=['time', 'smoker'], columns='day',\n",
    "                 aggfunc=len, margins=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 101,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th>day</th>\n",
       "      <th>Fri</th>\n",
       "      <th>Sat</th>\n",
       "      <th>Sun</th>\n",
       "      <th>Thur</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>time</th>\n",
       "      <th>size</th>\n",
       "      <th>smoker</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th rowspan=\"11\" valign=\"top\">Dinner</th>\n",
       "      <th rowspan=\"2\" valign=\"top\">1</th>\n",
       "      <th>No</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.137931</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Yes</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.325733</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">2</th>\n",
       "      <th>No</th>\n",
       "      <td>0.139622</td>\n",
       "      <td>0.162705</td>\n",
       "      <td>0.168859</td>\n",
       "      <td>0.159744</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Yes</th>\n",
       "      <td>0.171297</td>\n",
       "      <td>0.148668</td>\n",
       "      <td>0.207893</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">3</th>\n",
       "      <th>No</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.154661</td>\n",
       "      <td>0.152663</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Yes</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.144995</td>\n",
       "      <td>0.152660</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">4</th>\n",
       "      <th>No</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.150096</td>\n",
       "      <td>0.148143</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Yes</th>\n",
       "      <td>0.117750</td>\n",
       "      <td>0.124515</td>\n",
       "      <td>0.193370</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">5</th>\n",
       "      <th>No</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.206928</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Yes</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.106572</td>\n",
       "      <td>0.065660</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <th>No</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.103799</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"10\" valign=\"top\">Lunch</th>\n",
       "      <th rowspan=\"2\" valign=\"top\">1</th>\n",
       "      <th>No</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.181728</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Yes</th>\n",
       "      <td>0.223776</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">2</th>\n",
       "      <th>No</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.166005</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Yes</th>\n",
       "      <td>0.181969</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.158843</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">3</th>\n",
       "      <th>No</th>\n",
       "      <td>0.187735</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.084246</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Yes</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.204952</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">4</th>\n",
       "      <th>No</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.138919</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Yes</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.155410</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <th>No</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.121389</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <th>No</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.173706</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "day                      Fri       Sat       Sun      Thur\n",
       "time   size smoker                                        \n",
       "Dinner 1    No      0.000000  0.137931  0.000000  0.000000\n",
       "            Yes     0.000000  0.325733  0.000000  0.000000\n",
       "       2    No      0.139622  0.162705  0.168859  0.159744\n",
       "            Yes     0.171297  0.148668  0.207893  0.000000\n",
       "       3    No      0.000000  0.154661  0.152663  0.000000\n",
       "            Yes     0.000000  0.144995  0.152660  0.000000\n",
       "       4    No      0.000000  0.150096  0.148143  0.000000\n",
       "            Yes     0.117750  0.124515  0.193370  0.000000\n",
       "       5    No      0.000000  0.000000  0.206928  0.000000\n",
       "            Yes     0.000000  0.106572  0.065660  0.000000\n",
       "       6    No      0.000000  0.000000  0.103799  0.000000\n",
       "Lunch  1    No      0.000000  0.000000  0.000000  0.181728\n",
       "            Yes     0.223776  0.000000  0.000000  0.000000\n",
       "       2    No      0.000000  0.000000  0.000000  0.166005\n",
       "            Yes     0.181969  0.000000  0.000000  0.158843\n",
       "       3    No      0.187735  0.000000  0.000000  0.084246\n",
       "            Yes     0.000000  0.000000  0.000000  0.204952\n",
       "       4    No      0.000000  0.000000  0.000000  0.138919\n",
       "            Yes     0.000000  0.000000  0.000000  0.155410\n",
       "       5    No      0.000000  0.000000  0.000000  0.121389\n",
       "       6    No      0.000000  0.000000  0.000000  0.173706"
      ]
     },
     "execution_count": 101,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "tips.pivot_table('tip_pct', index=['time', 'size', 'smoker'],\n",
    "                 columns='day', aggfunc='mean', fill_value=0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
